所以,我得到這個錯誤Ruby on Rails的:的link_to沒有適當的ID
Couldn't find MenuBar with ID=add_page_to_menu
但我對創建該錯誤的鏈接代碼如下:
<%= link_to "add",
:controller => "admin/menu_bars",
:action => "add_page_to_menu",
:page => page.id,
:menu => @menu_bar.id %>
的URL,我得到的錯誤上是
http://example.com/admin/menu_bars/add_page_to_menu?menu=1&page=1
它應該是這個樣子example.com/admin/menu_bars/add_page_to_menu/1?menu=1&page=1
(我想,我可能是錯的,看到如何其沒有工作=(
在控制器中的相應動作:
def add_page_to_menu
@menu_bar = MenuBar.find(params[:menu])
@page = LinkPage.find(params[:page])
@menu_bar.link_pages << @page
if @menu_bar.save
format.html { render :action => "edit" }
else
format.html { render :action => "edit" }
format.xml { render :xml => @menu_bar.errors, :status => :unprocessable_entity }
end
end
路線:
map.namespace "admin" do |admin|
admin.root :controller => :site_prefs, :action => :index
admin.resources :site_prefs
admin.resources :link_pages
admin.resources :menu_bars
end
我想我們需要更多的信息。你能否粘貼呈現這個視圖的控制器方法和創建這些路由的routes.rb片段? – cdmwebs 2010-12-23 17:25:45
另外,我很確定`:action`的符號應該是一個字符串。 – cdmwebs 2010-12-23 17:26:41