如何将菜单变量传递到菜单半静态页面?

时间:2012-03-31 20:40:18

标签: ruby-on-rails ruby ruby-on-rails-3

嗨我正在使用新的ruby on rails开发我正在使用预订系统开始学习但我目前在控制器和视图方面遇到问题

首先我列出了客人在他添加的包中添加的所有菜单,我用这个

列出了它们

_menuadded.html.erb

<h1>menu you added</h1>
<% @reservation_package.package_line_items.each do |menu|%> 
<p><%= link_to menu.menu.name, menu_reservation_reservation_package_reservation_package_pages_path(@reservation,@reservation_package,menu) %></p>
<p><%= link_to "delete item" ,reservation_package_package_line_item_path(@reservation_package,menu), :method => :delete%></p>
<%end%>

然后我尝试使用此<p><%= link_to menu.menu.name, menu_reservation_reservation_package_reservation_package_pages_path(@reservation,@reservation_package,menu) %></p>

路由到下一个静态页面

并生成此网址http://localhost:3000/reservations/10/reservation_packages/39/reservation_package_pages/menu.29

我只是想知道如果我能抓住他打开的菜单我的意思是如何抓住这个 localhost:3000 / reservations / 10 / reservation_packages / 39 / reservation_package_pages / menu.29

在我的菜单半静态页面控制器中,这条路线到哪,我试过这个

@reservation_package = ReservationPackage.find(params[:reservation_package_id])
@menu = Menu.find(params[:id])

但根本不起作用我只是想知道我是否正确行事或者如果我错了你能给我一个如何实现这种模块的建议吗?感谢更多力量

途径:

resources :services

   resources :reservations do

     resources :pages do
        collection do
          get :functionroomlist
          get :packagelist
          get :package
        #  get :menu
        end
     end
        resources :reservation_packages do
          resources :reservation_package_pages do
            collection do
               get :menulist 
               get :menu
            end
          end
        resources :package_line_items
        end
     resources :reservation_function_rooms        
    end

1 个答案:

答案 0 :(得分:0)

查看您正在呼叫的网址助手:

reservation_package_package_line_item_path

然后查看您定义的路线:

    resources :reservation_packages do
      resources :reservation_package_pages do
        collection do
           get :menulist 
           get :menu
        end
      end
    resources :package_line_items

您已跳过嵌套的reservation_package_pages图层,这是您定义菜单的位置

你可以通过DOT 29来确定它生成的URL是否有问题!

如果它正常工作,你就有SLASH 29

做一个

rake routes

你应该看到正确的url助手用于进入菜单路径。