首先,我是Ruby on Rails的新手,所以如果有比我正在做的更好的练习,请告诉我。
我想要做的是拥有多个ajax提交按钮,以便对带有复选框的项目列表执行不同的操作。因此,当我选择尽可能多的复选框时,我可以选择如何处理它们。
我可以使用ajax部分解决这个问题,如下所示:
remote_form_for :profile, :url => {:controller => 'announcements', :action => 'deactivate'}, :html => { :method => :put} do |f|
f.submit 'Publish', :confirm => 'Are you sure?'
#Then the list
这很有效。我现在要做的是添加另一个“提交”或按钮,这样我就可以执行多个操作,所以我想remote_form_for上的:url语句将被替换为每个按钮的类似内容。例如:
发布按钮:在某个控制器中执行某些操作。 取消激活按钮:执行另一个操作。 标记为已阅读:执行其他操作。
是否清楚?
答案 0 :(得分:4)
添加尽可能多的“提交”。所有提交都将输入标记中的“name”设置为“commit”,并将值设置为标签。所以你可以通过查看提交的参数进行检查:
remote_form_for :profile, :url => {:controller => 'announcements', :action => 'deactivate'}, :html => { :method => :put} do |f|
f.submit 'Publish', :confirm => 'Are you sure?'
f.submit 'Something Else"
# Then the list
控制器中的
def deactivate
case params[:commit]
when 'Publish' then do something
when 'Something Else' then do something else
end
end
答案 1 :(得分:2)