У меня проблема с сохранением в промежуточную таблицу. Я новичок в Rails, и я потратил пару часов на это, но не могу заставить его работать, возможно, я все делаю неправильно. Любая помощь будет оценена. =) * * Тысяча одна
Приложение представляет собой простой книжный магазин, в котором вошедший в систему пользователь выбирает книги, а затем создает заказ.
Эта ошибка отображается:
NameError in OrderController#create
uninitialized constant Order::Orderlist
Это мои модели:
class Book < ActiveRecord::Base
has_many :orderlists
has_many :orders, :through => :orderlists
end
class Order < ActiveRecord::Base
belongs_to :user
has_many :orderlists
has_many :books, :through => :orderlists
end
class OrderList < ActiveRecord::Base
belongs_to :book
belongs_to :order
end
Это мой контроллер заказов:
class OrderController < ApplicationController
def add
if session[:user]
book = Book.find(:first, :conditions => ["id = #{params[:id]}"])
if book
session[:list].push(book)
end
redirect_to :controller => "book"
else
redirect_to :controller => "user"
end
end
def create
if session[:user]
@order = Order.new
if @order.save
session[:list].each do |b|
@order.orderlists.create(:book => b) # <-- here is my prob I cant make it work
end
end
end
redirect_to :controller => "book"
end
end
Спасибо заранее!
Manuel