我已成功建立了正確使用基本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