2013-02-19 28 views
0

我觉得我滥用的form_for(和simple_form_for)更新记录的一个隐藏属性。这里有一个例子:如何用link_to替换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 btn-mini" %> 
<% end %> 

本质上讲,这提出了一个按钮,用户可以按标记present为“有序”。在后端,它更新的属性:ordered的价值1当前list_item

我觉得这是个骗子,因为它不是一个正确的form本身。我宁愿有一个单独的link_to,当点击更新属性。

我想象link_to将需要method:知道更新的属性。

是否有可能取代我simple_form_for用单link_to

+0

而且,除了答案,使之成为'远程:TRUE'形式,使之就地切换。 – 2013-02-19 03:11:13

回答

1

尝试使用:

link_to 'Ordered', present_path(list_item, present: {ordered: 1}), method: :put 
+0

你先生,是胜利者! – SinFulNard 2013-02-19 05:33:31

2

是,使用

link_to 'Ordered', present_path(list_item, ordered: 1), method: :put 
+0

有趣的是,链接是有效的,我在我的日志中看到这个:开始PUT“/ presents/9?ordered = 1”但是可惜,属性没有更新。 – SinFulNard 2013-02-19 03:39:38