【发布时间】:2011-04-27 18:35:09
【问题描述】:
我的应用程序助手中有一个方法,用于停用我的数据库中的任务。
应用助手:
def link_to_destroy_task(task_id)
Task.find(task_id).deactivate
end
型号:
def self.deactivate()
update_attribute(:active, false)
end
查看:
<ol id="tasks">
<% @Tasks.each do |task| %>
<%content_tag_for :li, task do %>
<span class ="handle"> [drag] </span>
<%= link_to task.name, :controller => "com_tasks", :action => "edit", :id => task.id %>
<%= link_to_function '[Delete]', link_to_destroy_task(task.id) %>
<% end %>
<% end %>
</ol>
由于某种原因,当页面加载时,它会从列表中删除所有内容。不仅仅是将 active 切换为 false。它正在从数据库中彻底清除它。
我正在使用fixture,所以我重新加载了所有的测试数据,我可以刷新一次再次看到数据,但是下次我重新加载它就没有了。
我已将该方法的名称更改为“停用”,因为我认为销毁已被采用,但该方法仍在运行而不被单击。它不再删除,而是停用所有内容。
【问题讨论】:
标签: ruby-on-rails function hyperlink helper