Ruby on rails 如何将参数放入该行?
我想做一个按钮,改变对象的布尔值 我有这条线:Ruby on rails 如何将参数放入该行?,ruby-on-rails,Ruby On Rails,我想做一个按钮,改变对象的布尔值 我有这条线: = button_to 'Subscribe Back', candidate_subscriber_path(subscriber), method: :patch 提出这一要求的是: {"_method"=>"patch", "action"=>"update", "controller"=>"candidate/subscribers", "id"=>"2"} 我需要它来发送这些属性: subscribed: tr
= 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
然后只需将该路径发送到您的按钮查看一下;同样的问题:你可以在里面加上“subscribed:true”=simple\u form\u for:subscriber,url:candidate\u subscriber\u path(subscriber,subscribed:true)想知道为什么有人建议按按钮吗?是的,这打破了CRUD