2012-03-24 10 views
1

привет им нового в им развития ROR просто интересно, почему мое приложение подняться наНеопределенный метод «меню»

"undefined method `menu' 

я, кажется, чтобы связать свои модели прямо

я хотел бы показать меню, резервирование reserverd и показать свои рецепты в этом меню, но он поднимается метод undefiend 'меню'

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

если другой файл нужен, не стесняйтесь спросить меня, спасибо вам больше энергии нам благодаря

ответ

0

Это может быть потому, что «меню» представляет собой метод в ActiveAdmin DSL. По этой причине у меня была проблема с моделью под названием «Страница». Попробуйте переименовать свою модель и посмотреть, что произойдет.