2
我想改变我删不删除,但更新叫上记录的字段“已删除”轨的link_to更新1场
,“你确定吗?”:方法=>:删除%>似乎应该工作,但它不:
true,:confirm =>'你确定吗?',:method =>:post%>我想改变我删不删除,但更新叫上记录的字段“已删除”轨的link_to更新1场
,“你确定吗?”:方法=>:删除%>似乎应该工作,但它不:
true,:confirm =>'你确定吗?',:method =>:post%>有没有自动的方式来做到这一点,通过一个视图助手,如链接到。你在你的控制器中的行为需要为你做到这一点。
如果你从来没有想要通过你的销毁行为来删除一个文件,那么只需重写该行为来将其“已删除”属性设置为true,而不是实际销毁它。这样你可以继续使用你的原始链接。所以:
class Document < ActiveRecord::Base
# DELETE /documents/:id
def destroy
@document = Document.find(params[:id])
@document.deleted = true
@document.save
redirect_to documents_path
end
end
与
<%= link_to 'Destroy', document, :confirm => 'Are you sure?', :method => :delete %>
这是做正确的方式,但如果你想简化代码一点,我会用: Document.find(PARAMS [:编号] ).update_attribute(:删除,真) – 2010-09-23 17:53:14
我想过这个更多,有没有办法做到这一点的网址,如果我想要取消删除?或者只是更新任何给定的属性。做一段时间的形式和样式的按钮是另一种方式,我一直这样做,但它看起来很丑陋。 – Joelio 2010-09-23 19:52:25
不确定我真的知道你的意思是你的“表单...”,但如果你想更新任何给定的属性,请使用更新操作:)你似乎被某些导轨魔法弄糊涂了。你不希望仅仅为了更新一个属性而采取行动,而是通过用params更新来更新它们的整个重要部分。取消删除,您可以创建一个名为undelete的自定义操作,然后执行上述操作。正确地路由您的链接... – brad 2010-09-23 22:04:08