userhome_controller:
def edit_reviewer_email
@user = User.find(params[:id])
end
edit_reviewer_email:
<div class="pagetop center">
<%= form_for @user, update_reviewer_email_userhome_path(@user) do |f| %>
<%= f.label :email %><br />
<%= f.text_field :email, :size => 1 %>
<%= f.submit %>
<% end %>
</div>
错误:
undefined method `stringify_keys' for "/userhome/18/update_reviewer_email":String
当通过不同的控制器访问模型时,我应该使用form_tag吗?
如果你知道的话,我正在寻找一个涵盖各种形式的rails 3教程。 谢谢!
答案 0 :(得分:4)
您的控制器需要将其请求限制为单个记录(您可以使用find
):
@user = User.find(params[:id])
或者如果你想坚持使用where
声明:
@user = User.where("id = ?", params[:id]).first