Привет, я пытаюсь создать ресторан-сайт с простой системой бронирования для столов с рубинами на рельсах (V .: 3.2.13). У меня 3 таблицы: клиенты (имя, электронная почта), бронирование (table_id, customer_id), таблицы (места, площадь).Как добавить записи для системы бронирования в ruby on rails
Я настроил модели, как следующее:
class Reservation < ActiveRecord::Base
belongs_to :customer
belongs_to :table
end
class Customer < ActiveRecord::Base
has_many :reservations
has_many :tables, :through => :reservations
end
class Table < ActiveRecord::Base
has_many :reservations
has_many :customers, :through => :reservations
end
Я сделал поиск с form_tag для выбора таблицы. Если клиент нашел нужную таблицу, он может щелкнуть по ссылке «book this table» -link, а затем он перенаправляется на new_customer_path, чтобы применить свое имя и адрес электронной почты. Моя проблема теперь в бронировании. Как я могу динамически/автоматически добавлять резервирование с выбранной таблицей и новым созданным клиентом?
Я пытался что-то подобное в CustomerController, но он не работает:
def create
@customer = Customer.new(params[:customer])
table = Table.find(params[:table_id])
@reservation = @customer.Reservation.build(:table => table)
@reservation.save
end
Не могли бы вы сказать мне, как добавить оговорки.
Заранее спасибо.
Ну проблема в том, что ошибка возникает with'table = Table.find (Params [: table_id]) ': Не удалось найдите таблицу без идентификатора. Я думаю, что param: table_id недоступен. У вас есть идея, как это исправить? Спасибо – Mike
да вы можете проверить журнал, если ваши взгляды отправят 'table_id' в качестве параметра или нет –
вот так:': table_id => 2' в параметрах входа –