Railsのpathとパラメータのはなし

ほんとに今更なんですが、Railsのpathとパラメータにまつわる学習ができたので覚書として。 blogにcommentするアプリを作ってみたら viewsファイルで <%= link_to '削除', blog_comment_path(blog, comment), method: :delete %> として、コメントの削除リン…

Rails5でransackのパラメータを調べてみた

gem

今更ですが、ransackを試したので、覚書として残します。 環境: rails 5.1.6 ruby 2.3.1 概要: scaffoldでblogsテーブル(カラムはtitle、contentのみ)を作成。 contentの文字列に対し、あいまい検索をしてみる。 blogs_controller.rb class BlogsControl…

Rails5で検索機能を実装してみた

以前からやってみたいと思っていた、検索機能を実装してみました。 環境 ruby 2.3.1 rails 5.1.5 概要 usersテーブル(カラムはname、emailだけ)に対し、nameであいまい検索。 コード User.rb class User < ApplicationRecord validates :name, presence: t…

UndefinedFunction: ERROR

自分の覚書。 Railsのエラーメッセージを和訳してみた。 PG::UndefinedFunction: ERROR: operator does not exist: ? unknown LINE 1: SELECT "users".* FROM "users" WHERE (name like ? '%tada%') ^ HINT: No operator matches the given name and argumen…

Sprockets::FileNotFoundエラー

自分の覚書。 他の人のコードをGithubからcloneして実行したところ、以下のエラー。 Sprockets::FileNotFound - couldn't find file 'jquery/dist/jquery.js' with type 'application/javascript' 解決法 以下を実行。 yarn add jquery これによって、node_m…

プロを目指す人のためのRuby入門を勉強してわかったこと(随時更新)

自分の覚書。 プロを目指す人のためのRuby入門を勉強中。 勉強のたびにわかったことを書きつらねていきます。 Rubyのif文は、最後に評価された式を戻り値として返す name = 'papa' if name == 'papa' 'パパ' elsif name == 'baba' '馬場' else 'だれ?' end …

ArgumentErrorが出たぞ!

自分の覚書。 あるアプリを作っていて、以下のエラーが出た。 ArgumentError in Posts#new First argument in form cannot contain nil or be empty form_forの引数である「@post」がnilだよ〜というエラーでした。 よくよく調べたら、コントローラでインス…

uninitialized constant HogeControllerが出た

自分の覚書。 友人から依頼されて簡単なアプリを作ってます。 ルーティングを設定して起動して localhost:3000 をたたいたら <原因> ルーティングで root 'event#index' としていたけど、コントローラ名を複数形にしたら改善^^ こんな感じ。 root 'events#…

本番環境でrakeコマンドを実行する方法

自分の覚書。 本番環境(AWSなど)でrakeコマンドを実行するには、末尾に「RAILS_ENV=production」をつける。 たとえばrake routesを実行するには、 rake routes RAILS_ENV=production とする。

rake db:migrateでSystemStackError: stack level too deep発生

自分の覚書。 他の人のコードをクローンして、bundle exec rake db:migrateを実行したところエラー発生。 rake aborted! SystemStackError: stack level too deep このあと、延々と /usr/local/rvm/gems/ruby-2.4.0/gems/activesupport-4.2.3/lib/active_sup…

bundle installとbundle update、gemfileとgemfile.lockのつながりを解いてみた

自分のあたまを整理するために書きます。 まずgemfileから 必要なgemを自分でgemfileに追記します。 bundle installを実行する bundle install するとbundlerが各gemの依存関係を調べた上で、 各gemのバージョンを調整してインストールしてくれます。 その結…

undefined method for nil:NilClassってなに?

これはとてもよく出会うエラーですね〜。 私も毎日のように出て来て悩まされましたTT undefined method `name' for nil:NilClass だったり、 undefined method `id' for nil:NilClass など。 学びたての頃はさっぱりわからないエラー。 で、どういう意味なの…

いまさらですがmarginの相殺を勉強しました

HTML/CSSをあらためて勉強してます。 CSSの学習のところで「marginの相殺」を 今さら感満載なのですが、勉強したのでまとめておきます。 index.html <html> <head> <meta charset="UTF-8"> <title>margin-paddingタイトル</title> <link rel="stylesheet" type="text/css" href="css/normalize.css"> </link></meta></head></html>

間違って git add したものを取り消す方法

Git

自分の覚書。 間違って git add したものを取り消す場合は $ git reset HEAD ファイル名 です。 たとえば $ git reset HEAD . とすると、ステージング上の全てのファイル(カレントディレクトリ以下が対象)が取り消される。 「やっちゃった!」という時に便…

class/module name must be CONSTANT

自分の覚書です 「class/module name must be CONSTANT」というエラーが出た。 これはクラスやモジュール名は大文字で始まらないとダメだよ!というメッセージでした。基本です!

HTMLの基本 表組みをつくる<table>タグ

自分の覚書です。 tr:テーブル行 th:テーブル見出し td:テーブルデータ このコードで・・・ <table> <tr> <th>名前</th> <td>山田太郎</td> </tr> <tr> <th>電話</th> <td>03-4567-8900</td> </tr> </table> このような表組みになる。 tableタグは(最低でも)3階層のコードになる。 スラスラわかるHTML&CSSのきほん作者: 狩野祐…

文字列を整数に変換する to_iメソッド

自分の覚書です to_iメソッドは、文字列を整数に変換する。 文字列の先頭から10進数と見なせる部分を切り取って変換する。10進数と見なせる部分がない場合は0を返す。 s = "2017" puts s.to_i => 2017 s = "2017年" puts s.to_i => 2017 puts s.to_i => 0

HTMLの基本 ナビゲーションによく使われる<ul>タグ

自分の覚書です。 ナビゲーションにはulタグを使うことが多い。 例えばこのサイト。 restaurant.novarese.jp ナビゲーションタブは以下の通り。 コードは以下の通り。 たしかにulタグで書かれている またulタグの直下には、liタグしか入れられない。 <ul> <li>リスト</li> <li></li></ul>…

不登校の娘に希望の光?

娘はまだ不登校。 世間は夏休み。 どこへ行っても子供ばかり。 同じ小学校の子と会う確率も高くなる。 ということで、夏休みは格段に外出率が低くなる。 もしかしていいんじゃない? そんな娘にとって、 「おっ?これで前進できるのでは?」 と思えるような…

バリデーションエラーと@messegesの動きを見てみた

例えば、blogsテーブルにcontentというカラムを用意。 models/blog.rbで class Blog < ActiveRecord::Base validates :content, presence: true end として、contentは必須とする。 ここでrails cを実行。 irb(main):001:0> @blog = Blog.new => #<Blog id: nil, content: nil, created_at: nil, updated_at: nil> このまま</blog>…

同じgemが複数あることを知らせてくれたメッセージ

自分の覚書。 今日、フツーにbundle installを実行したら、 できたはできたんだけど、見知らぬメッセージ付きだった。 それはこちら。 Your Gemfile lists the gem dotenv-rails (>= 0) more than once. You should probably keep only one of them. While i…

form_for はどんなものかをまとめてみた

自分の覚書です。 <%= form_for(@blog) do |f| %> <%= f.label :本文 %> <%= f.text_field :content %> <br> <%= f.submit '投稿'%> <% end %> というコードの場合、HTMLでは、 <label for="blog_本文">本文</label> <input type="text" name="blog[content]" id="blog_content" /> <br> <input type="submit" name="commit" value="投稿" /> となり、画面表示は となる…

Linuxのrootとは管理者のこと

自分の覚書。 $ sudo su - で [root@ip〜] に切り替わるが、この「root」というのは管理者のこと。 参考サイト eng-entrance.com

映画「22年目の告白」は○○だった〜

不登校でずっと自宅にいる娘が、最近は昼夜逆転状態に。 「パパ、生活リズム直したい」 というので、 今朝はきっちり起こし、ガストに行ってしっかり朝ごはん。 で、お腹がいっぱいになるとまた眠くなるので いきなり二人で映画館へ。 で、これを観てきまし…

herokuでデータベース上のテーブルを確認する方法

自分の覚書です。 $ heroku pg:psql

createかupdateかを自動判断するform_forの動きを検証してみた

form_forメソッドの動き form_forメソッドは、以下のような動きをします。 引数がレコードに存在しない場合、createアクションへ送信 引数がレコードに存在している場合、updateアクションへ送信 これはform_forメソッドが自動的に判断してくれています。素…

GitHubからcloneしてpushするまでの流れ

自分の覚書です 該当のコードをGitHubからローカルにclone clone後、gemを取り入れるために、bundle installを実行 cloneでは、git上のコードを入手するだけなので、「bundle exec rake db:create」でデータベースを構築する 「bundle exec rake db:migrate…

gitについての覚書

自分があやふやだったところをまとめました 最初に作成するブランチは「master」という名前がつく リモートリポジトリの名前を登録する(公開鍵認証方式を利用する場合) git remote add(リモートリポジトリの名前)(SSHプロトコルURL※) ローカルリポジト…

データベース変更後に効果的なheroku restart

自分の覚書。 テーブルやカラムの追加など、heroku上のデータベースに何らかの変更があった時は、 マイグレーション処理を実行した後で、heroku restartをするといいみたい。 実際、マイグレーション処理でカラムを追加したにも関わらず、 heroku上では認識…

vagrantで共有フォルダの認識がされなくなった場合

仮想環境で作業をする場合、ローカル上(実際のPC上)のフォルダと、仮想環境上のフォルダとをVagrantfileによって共有しますが、 ある日突然、その共有が反映されなくなり、作業ができなくなりました(@_@) 試行錯誤した結果、改善したので、経緯をまとめま…