(首先,我想要注意的是,如果你已经阅读了这本书,或者甚至拿到了这本书,那么这个问题可能只能得到解答,因此你可以阅读第491页的相关部分,因为我只能提取一小段并粘贴在这里。我为此道歉。)
这是 491 页上的书中使用的_follow.html.erb部分:
<%= form_for current_user.relationships.
build(:followed_id => @user.id) do |f| %>
<div><%= f.hidden_field :followed_id %></div>
<div class="actions"><%= f.submit "Follow" %></div>
<% end %>
用于创建“关注”按钮以关注其他用户。
然后在他对“f.hidden_field”的处理线的解释中,他说,
最后,你会注意到表单没有除按钮之外的任何内容,但它仍然需要发送follow_id,我们用hidden_field完成;
我的问题是:
为什么我们在这里需要一个hidden_field来发送follow_id?就我看来,行
<%= form_for current_user.relationships.
build(:followed_id => @user.id) do |f| %>
已经分配了:followed_id属性吗?
答案 0 :(得分:1)
我认为这两部分代码是不同的。
<%= form_for current_user.relationships.build(:followed_id => @user.id) do |f| %>
此行为表单创建新记录。
<%= f.hidden_field :followed_id %>
此代码会创建表单的实际参数。
- &GT;您可能需要阅读该内容以了解有关form_for http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-form_for
的更多信息