繁体   English   中英

如何将参数放入此行?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM