这是我的表单中的一行,用于在两个用户之间创建关系
<%= form_for(current_user.relationships.build(followed_id: @user.id) do |f| %>
<%= f.hidden_field :followed_id %>
<%= f.submit "follow" %>
关系控制器创建方法:
def create
@user = User.find(params[:relationship][:followed_id])
current_user.follow!(@user)
respond_to do |format|
format.html { redirect_to @user }
format.js
end
end
我正在试图找出如何将current_user.relationships.build逻辑移出表单并进入控制器,是否可能?
答案 0 :(得分:0)
我能够弄清楚如何将逻辑移出表单。 基本上,传递给form_for帮助器的对象需要初始化。我将初始化逻辑放入用户帮助程序并将该方法传递给form_for帮助程序。所以这就是你得到的
用户帮助方法
def initializing_relationships
current_user.relationships.build(followed_id: @user.id)
end
在您调用initializing_relationships
的表单中<%= form_for(initializing_relationships) do |f| %>
这确实清理了表格。