레일을 사용하여 여러 테이블에 삽입하려고합니다. 사용자 및 서비스라는 테이블이 있습니다. 사용자를 생성 할 때 사용자 세부 정보가 사용자에게 전달되어야하며 서비스 이름과 사용자 ID는 서비스 테이블에 있어야합니다. 도움이되면 크게 도움이 될 것입니다.레일에 여러 테이블에 삽입하는 방법
감사합니다.
레일을 사용하여 여러 테이블에 삽입하려고합니다. 사용자 및 서비스라는 테이블이 있습니다. 사용자를 생성 할 때 사용자 세부 정보가 사용자에게 전달되어야하며 서비스 이름과 사용자 ID는 서비스 테이블에 있어야합니다. 도움이되면 크게 도움이 될 것입니다.레일에 여러 테이블에 삽입하는 방법
감사합니다.
사용자 생성시 콜백을 추가하여 새 서비스를 만들 수 있습니다.
class User < ActiveRecord::Base
def after_create
Service.create!(:name => 'my_service_name', :user_id => self.id)
end
end
새로운 사용자 생성 후 after_create 메소드가 트리거됩니다. 따라서 새로운 사용자를 만들 때마다 새로운 서비스가 만들어집니다.
콜백에 대한 자세한 내용은 Rails Guides에서 확인할 수 있습니다.
또한 accept_nested_attributes_for 사용할 수 있습니다 다음 service_attributes 해시에서
class User < ActiveRecord::Base
has_one :service
accepts_nested_attributes_for :service
end
User.create(:name => "Example User", :service_attributes => {:name => "Example Service"})
충전이 중첩 된 형태로 간단하게 이루어진다.
감사합니다. mathieu. 당신은 내 하루를 저장 :) – karthik