由於某些原因,某個特定控制器的傳統路徑名稱不起作用? (Rails 3.1)Rails路由名稱約定
我使用ryan bates漂亮的腳手架創建了一個控制器。只是一個控制器,沒有底層模型。
控制器我
class ProjectTemplatesController < ApplicationController
# a bunch of stuff
def new
@project = Project.new
end
#more stuff
end
在我的視圖(app /視圖/ project_templates/index.html.erb)我有:
<p><%= link_to "New Project Templates", new_project_templates_path %></p>
但我得到的錯誤
undefined local variable or method `new_project_templates_path' for #<#<Class:0x2ab9c24>:0x2ab80e0>
在我routes.rb文件我宣佈控制器像所有其他的資源
resources :project_templates
如果我更改鏈接使用
<%= link_to "New Project Templates", {:controller=>"project_templates, :action=>"new"} %>
然後它完美?爲什麼在這種情況下action_controller_path的命名轉換不起作用?
new_project_template_path有效嗎?如果是這樣,那將是由於變形庫 –
您是否已經運行'rake routes',檢查路線是否存在,就像您認爲的那樣? – polarblau