我正在尝试使用rails插入多个表.. 我有一个名为用户和服务的表。 当我创建用户时,用户详细信息应该进入用户,服务名称和用户ID应该进入服务表。 任何帮助都会受到极大关注。
感谢。
答案 0 :(得分:6)
您可以在创建用户时添加回调以创建新服务。
class User < ActiveRecord::Base
def after_create
Service.create!(:name => 'my_service_name', :user_id => self.id)
end
end
在创建新用户后触发after_create方法。因此,每次创建新用户时都会创建一个新服务。
您可以在Rails Guides上找到有关回调的更多信息。
答案 1 :(得分:3)
您也可以使用accept_nested_attributes_for:
class User < ActiveRecord::Base
has_one :service
accepts_nested_attributes_for :service
end
User.create(:name => "Example User", :service_attributes => {:name => "Example Service"})
使用嵌套表单填写service_attributes哈希很简单。