reils 10章で13章で使われる内容が記載されていて詰まった
リスト 10.5: new
とedit
フォーム用のパーシャルapp/views/users/_form.html.erb
<%= form_for(@user) do |f| %> <%= render 'shared/error_messages', object: @user %> <%= f.label :name %> <%= f.text_field :name, class: 'form-control' %> <%= f.label :email %> <%= f.email_field :email, class: 'form-control' %> <%= f.label :password %> <%= f.password_field :password, class: 'form-control' %> <%= f.label :password_confirmation %> <%= f.password_field :password_confirmation, class: 'form-control' %> <%= f.submit yield(:button_text), class: "btn btn-primary" %> <% end %>
この
<%= render 'shared/error_messages', object: @user %>
renderの第二引数 object: @userでかなり悩まされました
実際使われてるファイルを見ても@user変数しか使われていなかったです。
app/views/shared/_error_messages.html.erb
>|rails|
<% if @user.errors.any? %>
<div id="error_explanation">
<div class="alert alert-danger">
The form contains <%= pluralize(@user.errors.count, "error") %>.
</div>
<ul>
<% @user.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
||<
色々調べた結果、13章でerror処理をobjectを使用する実装がありました。
多分この実装の布石なのでしょう。
今記載しなくていい内容だと思いました。おかげで数時間これについて調べました。
その苦労もあってrenderの第二引数がブロックであることとrender先のerbファイルで第二引数のものが使えることがわかりましたので調べて良かったと思いました。
13章