[英]How do I put params into this line?
我要创建一个按钮,该按钮会更改Object的布尔值。
有这行:
= button_to 'Subscribe Back', candidate_subscriber_path(subscriber), method: :patch
发出此请求:
{"_method"=>"patch", "action"=>"update", "controller"=>"candidate/subscribers", "id"=>"2"}
我需要它来发送这些属性:
subscribed: true
不知道将它们放在哪里。 你有什么线索吗?
尝试:
= button_to 'Subscribe Back', candidate_subscriber_path(subscriber, subscribed: true), method: :patch
= button_to 'Subscribe Back', { controller: 'subscribers', action: 'update', id: subscriber.id, subscribed: false }, method: :patch
结合其他选择。
对我有效的唯一选择是:
= simple_form_for :subscriber, url: candidate_subscriber_path(subscriber),
html: { method: :patch } do |f|
= f.input :subscribed, as: :hidden, input_html: { value: '1' }
= f.button :submit, 'Subscribe Back'
我所采用的方法是为此专门创建一个动作。
添加到您的候选路线-
patch "/resubscribe/:id", to: "candidate/subscribers#resub"
然后在控制器中
def resub
user = YourModel.find(params[:id])
user.update_attributes( subscribed: true )
end
然后将该路径发送到您的按钮
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.