2012-03-24 30 views
1

hallo im neuen in im Entwicklungs ROR nur fragen, warum steigen meine app einnicht definierte Methode ‚Menü‘

"undefined method `menu' 

ich meine Modelle zu assoziieren scheint richtig

ich möchte ein Menü zeigen, dass die Reservierung reserverd und zeigen ihre Rezepte innerhalb dieses Menü, aber es steigt undefiend Methode 'Menü'

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

wenn andere Datei fühlen sich frei, benötigt wird mir Sie uns mehr Leistung dank

Antwort

0

fragen danken Es könnte sein, weil „Menü“ ein Verfahren, in dem ActiveAdmin DSL ist. Ich hatte ein Problem mit einem Modell namens "Page" genau aus diesem Grund. Versuchen Sie, Ihr Modell umzubenennen und zu sehen, was passiert.

Verwandte Themen