0
에 테이블을 가입 나는 다음과 같은 구조를 가지고 :전달하는 방법을 데이터가 생성
class User < ActiveRecord::Base
has_many :device_ownerships
has_many :devices, :through => :device_ownerships
end
class Device < ActiveRecord::Base
has_one :device_ownership
has_one :user, :through => :device_ownership
end
class DeviceOwnership < ActiveRecord::Base
belongs_to :user
belongs_to :device
end
그러나 DeviceOwnership 또한 일련의 _ 행
내가 작성에 DeviceOwnership하는 일련의 _ 값을 전달하려는있습니다. 나는 내가 할 수있는 것을 이해한다
def create
user = User.create
device = Device.create
device_ownership = DeviceOwnership.create(:serial_numer => params[:device_serial_number], :device_id => device.id, :user_id => user.id)
end
이것은 더 좋은 해결책이 아닌가?
멋진, 나는 몰랐어요 .. 감사합니다 하나의 값으로 만 생성시 DeviceOwnership을 생성하면 Rails는 device.id를 자동으로 할당합니다. – Stpn
MySQL 트랜잭션에서 모든 것이 실행됩니다. 즉, 일부 유효성 검사가 실패하면 아무 것도 저장되지 않고 모든 COMMITS가 되돌아갑니다. – Surya