【问题标题】:route issue menu.29 instead of menu/29路由问题 menu.29 而不是 menu/29
【发布时间】:2012-04-01 10:34:11
【问题描述】:

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

_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%>

然后我尝试使用此&lt;p&gt;&lt;%= link_to menu.menu.name, menu_reservation_reservation_package_reservation_package_pages_path(@reservation,@reservation_package,menu) %&gt;&lt;/p&gt; 路由到下一个静态页面

它会产生这个 URL 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

【问题讨论】:

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


    【解决方案1】:

    我们遇到了类似的问题,希望能帮到你一点 我的用户可以创建一个产品列表,他可以直接在上面添加新产品。在显示表单上,我设置了这样的链接

    <%= link_to 'Create', new_product_path(:procuctlist => @productlist.id) %>
    

    在产品的控制器中我定义了 new-Action 所以

    def new
        @product_entry = ProductEntry.new
        @product_entry.productlist_id = params[:productlist]
    
        respond_to do |format|
          format.html # new.html.erb
          format.json { render json: @wishlist_entry }
        end
      end
    

    模型是这样定义的

    class Product < ActiveRecord::Base
    
      belongs_to :productlists
      has_many :registrations, :dependent => :destroy
      validates :entry_name, :description, :presence => true
    
    end
    class Productlist < ActiveRecord::Base
    
      has_many :products, :dependent => :destroy
    
    end
    

    products 包含字段productlist_id。 我们第一个 alpha 版本中的产品视图包含 productlist_id。

    <div class="field">
        <%= f.label :productlist_id %><br />
        <%= f.number_field :productlist_id %>
      </div>
    

    希望我们能帮到您。

    【讨论】:

    • 如何访问您的产品列表?例如,如果您想检查 product=2 的 productlist_id=1?
    • 嘿@joelparkerhenderson 这在我们的应用程序中真的不是一个用例,好的,我们仍然在版本 zero.zero 但我会通过 productlist 中的 index-action 执行此操作。我们应用程序中的产品是产品列表的子项。 Productlist 有很多产品。如果您想检查 product=2 的 productlist_id=1,您必须转到 product=2,然后通过 productlist 索引操作并找到 id=1。那就是我会采取的方式。也许这可以帮助你。 link_to_if 对不起,我可以回答你的问题并帮助你。如果你知道它是如何工作的,你会在这里发布它,它会有所帮助
    • 仍然在做应用程序开发的新手顺便说一句你呢?
    • 那是题外话:-) 那不是聊天论坛!但是我正在使用 ruby​​ on rails 六个月...如果您查看我的个人资料,您会发现我今天的问题是什么,上周是...stackoverflow.com/questions/9956975/…
    猜你喜欢
    • 2020-03-16
    • 2019-01-06
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    相关资源
    最近更新 更多