我有两个按钮,一个用于upvoting,另一个用于downvoting:
<%= button_to "+1", { :action => "create", :id => @video.id }, :remote => true %>
<%= button_to "-1", { :action => "create", :id => @video.id }, :remote => true %>
它们都转到create方法,但是我想要一个名为'value'的video_votes表列设置为1,而另一个设置它等于-1。我应该在哪里做这个?
此外,由于我正在使用带有create.js.erb文件的AJAX,我是否需要在创建控制器方法中执行类似respond_to format do format.js
的操作?
答案 0 :(得分:2)
您可以传递一个额外的参数来表示它的投票类型。
<%= button_to "+1", { :action => "create", :id => @video.id, :type => "up" }, :remote => true %>
<%= button_to "-1", { :action => "create", :id => @video.id, :type => "down" }, :remote => true %>
在你的def创建中:
def create
if params[:type] == "up"
#do this
else
# do that
end
end
此外,您还必须渲染create.erb.js文件。