我是 Rails 新手,在 Michael Hartl 的 Rails 4 教程http://ruby.railstutorial.org/chapters/following-users#sec-following_and_followers_pages的帮助下做一个项目, 同时为关注用户创建表单,它显示第一个参数在表单中不能包含 nil 或在 rails 4 中为空
<%= form_for(current_user.relationships.find_by(followed_id: @user.id)) do |f| %>
<div>
<%= f.hidden_field :followed_id %>
</div>
<%= f.submit "Follow", class:"btn btn-large" %>
<% end %>
关系控制器.rb
def create
@user = User.find(params[:relationship][:followed_id])
current_user.follow!(@user)
redirect_to @user
end
你能给我解决方案来避免这个错误吗?当我通过 rails 控制台在关系表中插入数据时。没关系。但它不能从表单创建任何新对象并显示此错误。
解决方案 。如果我像以下那样更改第一个参数,那么它可以工作但没有得到取消关注按钮
<%= form_for(Relationship.new(followed_id: @user.id)) do |f| %>