0
我分页的用户列表,并提供他们的头像旁边的“关注”按钮。我使用jQuery作为提交“Follow”表单的手段。Rails的jQuery表单提交,错误的表单获取执行
我遇到了一个错误,无论点击哪个“跟随”链接,都遵循分页列表中“最”最多的用户,而不是目标用户。
我怀疑这个bug可能与分页的表单有关,可能与CSS有关。
这里是后续形式:
<%= form_for(current_user.relationships.build(:followed_id => user.id), :remote => true) do |f| %>
<div><%= f.hidden_field :followed_id %></div>
<%= link_to "Follow", "#", :onclick=>"$('.new_relationship').submit()" %>
这里是关系控制器 '创造' 的行动:
def create
@user = User.find(params[:relationship][:followed_id])
current_user.follow!(@user)
respond_to do |format|
format.html { redirect_to :back }
format.js { }
end
end
任何帮助,将不胜感激,谢谢!
我其实特别不使用button_to的苦行/设计用途使用。你确定link_to:method =>:post是可行的吗?看看这个stackflow文章:http://stackoverflow.com/questions/4964599/rails-how-do-you-submit-a-form-with-a-text-link – 2011-05-08 02:30:56
那么,在HTML链接的目的是做出一个get请求,因此:method =>:post似乎有点像黑客攻击它,另一方面你的onclick方法在这些方面更糟糕。 link_to的作品,只是尝试它。并确保您的控制器中的路由和动作设置正确,以接受传递的参数和方法。 – 2011-05-08 17:47:28
非常感谢您的回复,但我认为可能存在对问题性质的误解。该代码适用于整个网站,除了在分页上下文中应用时。 onclick是正确的方法,因为我想使用jQuery/CSS和切换图像作为“按钮”。 – 2011-05-12 01:52:38