假设我有一个获得展示/交易对象@Transaction/ID红宝石使用按钮
def show
@transaction = Transaction.find(params[:id]);
end
在show.html.erb,我想有一个按钮,按下时改变了一个轨道编辑属性交易的属性。我怎么做?
在show.html.erb,我有
<%= form_for @transaction do |t| %>
<%= t.label :id %> : <%= @transaction.id %><br />
<%= t.submit "pay" %>
<% end %>
编辑:我想我可能有问题的误导。上面的按钮的代码生成此HTML:
<input id="transaction_submit" name="commit" type="submit" value="pay" />
当我点击该按钮时,在控制器中的“更新”方法被调用。如何将按钮中的值传递给更新方法中的特定操作?例如,假设button1
将transaction.name更改为“lalala”。我该怎么做呢?
def update
// if button1 is pressed, change transaction.name to lalala
// if button2 is pressed, change transaction.amount to bobobo
end
我觉得'link_to'会是一个更好,更优雅的方式来写这个..? –
它可能是,但它也看起来更多的工作。 –
这不是那么多的工作 - 在我的答案中看到我的博客文章的链接; Rails使得这些超级简单的东西成为可能。 –