Итак, я получил эту ошибку
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