未定义的方法'菜单'

时间:2012-03-24 17:29:25

标签: ruby ruby-on-rails-3

嗨,我在ROR开发中的新功能,我只是想知道为什么我的应用程序上升

"undefined method `menu'

我似乎正确地将我的模特联系起来

我想显示一个预订保留的菜单,并在该菜单中显示其食谱,但它上升了不受欢迎的方法'菜单'

package_line_item.rb

  belongs_to :menu
  belongs_to :reservation

reservation.rb

  has_one :reservation_package
  belongs_to :service
  has_many :reservation_function_rooms
  has_many :package_line_items
  has_many :menus , :through => :package_line_items, :uniq => true
  has_many :function_rooms, :through =>:reservation_function_rooms

menu.rb

has_many :package_line_items
has_many :menu_recipes
has_many :recipes, :through => :menu_recipes, :uniq => true
belongs_to :menu_category

package_line_item_controller.rb

 def index 
    @package_line_items = PackageLineItems.all
  end


  def show
     @reservation = Reservation.includes(:package_line_items => :menu).find(params[:id])
  end


  def new  
    @reservation = Reservation.find(params[:reservation_id])
    @package_line_item = @reservation.package_line_items.build
  end

  def create
  @reservation = Reservation.find(params[:reservation_id])
  @reservation.package_line_items.build(params[:package_line_item])

    if @package_line_item.save
      redirect_to @reservation ,:notice => "added menu"
    end 

的routes.rb

 resources :services

  resources :reservations do
     resources :reservation_packages
     resources :reservation_function_rooms
     resources :packages 
     resources :package_line_items
     resources :package_crews

  end

  resources :function_rooms

  resources :crews



  resources :menu_categories

  resources :menus do
     resources :menu_recipes
   end

  ActiveAdmin.routes(self)

  devise_for :admin_users, ActiveAdmin::Devise.config

  resources :recipe_categories

  resources :recipes

package_line_item / show.html.erb

<p id="notice"><%= notice %></p>    
<%= @reservation.package_line_items.menu.name%>

如果需要其他文件,请随时向我表示感谢您对我们的更多权力感谢

1 个答案:

答案 0 :(得分:0)

可能是因为“menu”是ActiveAdmin DSL中的一种方法。出于这个原因,我对一个名为“Page”的模型有一个问题。尝试重命名模型,看看会发生什么。