現場Rails 写経して得たこと(3章)
全部は書けないので、ほんの一部分だけ書きますね。
1こんなエラーが出たよ。
I18n::InvalidLocaleData at /tasks/new can not load translations from /Users/??/workspace/??/kiso/taskleaf/config/locales/ja.yml: #<Psych::SyntaxError: (<unknown>): could not find expected ':' while scanning a simple key at line 10 column 5>
こういうのが出たら、ymlの部分をみようね。そこが原因でエラーになっている可能性が高い。 余談やけど、ymlを「ヤムル」って読む人もいるみたい。
2マイグレーション:データベースにテーブルを追加する で起用するには「rails db:migrate」をやる。
3ルーティング リクエストを処理すべきコントローラ とアクションを特定する。
4 ja.yml
モデルの名前はmodelsの下 属性の名前はattributesの下
5 PostとGetの違いは以下の記事がわかりやすかったかも。
6 form_with モデルオブジェクトを使ってHTMLのform要素を作成するための メソッド。モデルとフォームは、form_withにmodel:@〇〇という引数を渡すことで対応可。ちなみにパーシャルのところ(現場rails p119) new.html.slim
= render partial: 'form', locals: { task: @task } ...①
_form.html.slim
= form_with model: task, local: true do |f| ...②
①で記述しているlocalsオプションは、パーシャル内のローカル変数を設定します。locals: { task: @task }と記述すると「インスタンス変数@taskを、パーシャル内のローカル変数taskとして渡す」という意味になります。これにより、②のようにローカル変数taskから利用できる。
補足 p106.107の部分は個人的に大事なところだと思うので、また復習した方がいいと思う。(書く量、多くなるので省略します)