【发布时间】:2012-01-27 02:37:54
【问题描述】:
我已成功建立一个正确使用基本 CRUD 功能的站点。但是,当我尝试向控制器添加自定义方法时,我似乎无法将其连接到 link_to 调用。我不断收到method not found 错误。
Controller 方法如下所示:
def complete
return render :text => "Complete"
end
我在视图中的调用如下所示:
<%= link_to 'Complete', complete_list_task_path(@list,@task) %>
同样的调用适用于我的 Edit 方法,所以我不确定我做错了什么。当方法不是基本的 CRUD 调用时,我需要做一些特别的事情吗?
我的路由文件中唯一相关的部分是这样的(List 和 Task 是嵌套资源。List 有很多任务,而 task 属于一个列表):
resources :lists do
resources :tasks
end
我还尝试将post "complete" => "lists/:id/tasks/:id#complete", :as => "complete" 添加到我的路由中,看看是否有助于隐式尝试调用它,但我仍然收到“方法未找到错误”。
我们将不胜感激任何有关如何拨打电话的帮助。谢谢!
【问题讨论】:
-
错误是什么?将其添加到问题中。
-
请发布
rake routes | grep complete的输出 -
我在底部说这是一个“未找到方法错误”,但我在顶部更显眼地添加了它。很抱歉造成混乱!
-
是的,照@davidb 所说的去做。如果该方法不在您的路由文件中,则不会被找到。
标签: ruby-on-rails ruby view controller