1
我有一個路線文件夾航線通往我到一個不同的動作
resources :groups
在我GroupsController
這裏有一些動作
def new
@group = Group.new
end
def update
end
def show
@groups = Group.find(params[:id])
end
當我運行耙路線我看到
new_group GET /groups/new(.:format) groups#new
所以現在在我的html頁面中我有
a.btn.btn-primary href="/groups/new"
有趣的是,每當我點擊鏈接,它告訴我
No route matches {:action=>"show", :controller=>"groups"}
其實我確實有表演動作的路由匹配。我也檢查過,沒有任何過濾器將我重定向到我的GroupsController
中的表演動作。我不知道爲什麼它重定向我表演。怎麼了,我該如何解決這個問題?我必須失去一些明顯的東西。
UPDATE
如果我去並從資源的方法展示動作,像這樣
resources :groups, except: [:show]
然後它告訴我,它無法找到一個update
行動。
解決
我發現在我的new.html
頁有到group_path
一個電話,而實際上它應該groups_path
而不是自己寫路線,嘗試使用'new_group'輔助方法。所以不是這樣的:'a.btn.btn-primary href =「/ groups/new」'使用這個:'a.btn.btn-primary href =「#{new_group}」'。 – sergelerator 2013-04-09 15:30:29
對不起,沒有區別。仍然導致我到一個路由錯誤頁面。作爲參考,它應該是'new_group_path'或'new_group_url'。 – jason328 2013-04-09 15:31:54
對不起,忘了尾隨'_path':/這真的很奇怪......我會把它挖出來,希望能回來一些有用的東西。 – sergelerator 2013-04-09 16:01:01