Ruby on rails 如何将的表单替换为指向的链接?
我觉得我在滥用form_for(和simple_form_for)来更新记录的单个隐藏属性。以下是一个例子:Ruby on rails 如何将的表单替换为指向的链接?,ruby-on-rails,simple-form,Ruby On Rails,Simple Form,我觉得我在滥用form_for(和simple_form_for)来更新记录的单个隐藏属性。以下是一个例子: <%= simple_form_for :present, url: present_path(list_item), method: 'put' do |f| %> <%= f.hidden_field :ordered, value: "1" %> <%= f.button :submit, "ordered", class: "btn
<%= simple_form_for :present, url: present_path(list_item), method: 'put' do |f| %>
<%= f.hidden_field :ordered, value: "1" %>
<%= f.button :submit, "ordered", class: "btn btn-mini" %>
<% end %>
本质上,这提供了一个单一的按钮,用户可以按下该按钮将present
标记为“ordered”。在后端,它将当前列表项的属性:ordered
更新为1
我觉得这是一种欺骗,因为它本身不是一种合适的形式。我更希望有一个链接到
,当点击它时,它会更新属性
我想链接到
的必须是方法:
感知才能更新属性
是否可以将我的
的简单表单替换为指向的单个链接?是的,请使用
link_to 'Ordered', present_path(list_item, ordered: 1), method: :put
是的,用
link_to 'Ordered', present_path(list_item, ordered: 1), method: :put
尝试使用:
link_to 'Ordered', present_path(list_item, present: {ordered: 1}), method: :put
尝试使用:
link_to 'Ordered', present_path(list_item, present: {ordered: 1}), method: :put
此外,除了答案,将其设置为
remote:true
表单并将其设置为就地切换。此外,将其设置为remote:true
表单并将其设置为就地切换。有趣的是,链接是有效的,我在我的日志中看到了这一点:Started PUT“/presents/9?ordered=1”但是,唉,属性没有更新。有趣的是-链接是有效的,我在日志中看到了这一点:Started PUT“/presents/9?ordered=1”,但遗憾的是,属性没有更新。