我设置了一个form_for来审核我网站上提交的图片,但是我希望有多种提交标签,不仅可以提交更改,还可以将值发送到字段中?
这样,如果我点击“批准图片”按钮,则会提交表单,并且我的“状态”字段设置为“已批准”
我不知道怎么做这个哈哈。
答案 0 :(得分:0)
您可以访问在params
哈希中按下的按钮。假设你有REST-ful控制器,这是我快速而肮脏的解决方案:
# images_controller.rb
def update
@image = Image.find(params[:id])
case params[:commit] # Value of button (which is shown as the text of the button in browsers)
when 'approve image'
@image.status = 'approved'
when 'other status'
...
else
@image.status = 'flagged'
end
@image.save
# Redirect or whatever
end
更好的解决方案:
# images_controller
before_filter :set_status
def update
@image = Image.find(params[:id])
@image.update_attributes(params[:image|)
# Redirect
end
private
def set_status
params[:image][:status] = case params[:commit]
when 'approve image'
'approved'
...
else
'flagged'
end
end