我已成功建立了正确使用基本CRUD功能的站点。但是,当我尝试将自定义方法添加到我的控制器时,我似乎无法将其挂接到link_to
调用。我不断收到method not found
错误。如何在视图中调用Rails控制器中的自定义方法
在控制器方法是这样的:
def complete
return render :text => "Complete"
end
和我在查看通话看起来是这样的:
<%= link_to 'Complete', complete_list_task_path(@list,@task) %>
此相同的呼叫适合我的编辑方法,所以我不知道我做错了什么。当该方法不是基本的CRUD调用时,是否需要做特别的事情?
我的路由文件的唯一相关的部分看起来像这样(列表和任务是嵌套的资源列表中包含了许多任务,而且任务属于列表):
resources :lists do
resources :tasks
end
我也试图加入post "complete" => "lists/:id/tasks/:id#complete", :as => "complete"
到我的路线,看看它是否会帮助隐式地尝试调用它,但我仍然有一个“方法未发现错误”。
任何帮助搞清楚如何进行此调用将不胜感激。谢谢!
什么是错误?将其添加到问题中。 – 2012-01-27 02:40:06
请寄出'rake routes |的输出grep complete' – davidb 2012-01-27 02:44:00
我向底部表示这是一个“找不到方法的错误”,但我更加突出地在顶部添加了它。对困惑感到抱歉! – 2012-01-27 02:44:19