如何在rails上的ruby中添加预订系统的条目

时间:2013-08-12 12:01:45

标签: ruby-on-rails

你好我试图用一个简单的预订系统制作一个餐厅网站,用于桌子上的红宝石(V。:3.2.13)。我有3个表:客户(姓名,电子邮件),预订(table_id,customer_id),表格(座位,区域)。

我已经配置了以下模型:

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搜索了一个表的选择。如果客户找到了正确的表格,他可以点击“预订此表”链接,然后将他定向到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

您能否告诉我如何添加预订。

提前谢谢。

2 个答案:

答案 0 :(得分:1)

你可以做到

@reservation = @customer.reservations.build
# set table:
@reservation.table = table
# save record:
@reservation.save

答案 1 :(得分:0)

@reservation = @customer.reservations.build(table: table).save!

由于