사용자가 새 예약 레코드를 만들면 입력 한 데이터의 일부가 전자 메일 주소가됩니다. 이 전자 메일 주소는 아직없는 경우 새로운 게스트 레코드를 동시에 만드는 데 사용됩니다. 예약시 게스트 ID가 레코드의 일부로 포함되어야합니다. 내 모델에서레일 4 - 여러 관계 구축
나는 그렇게 관계를 정의했습니다 :
...
def create
accommodation = current_user.accommodation
@booking = accommodation.bookings.build(post_params)
@guest = accommodation.guests.build(params[:email])
if @booking.save
flash[:success] = 'The booking has been added successfully.'
redirect_to :controller => 'bookings', :action => 'index'
else
render 'new'
end
end
...
내 질문
은 다음과 같습니다 :accommodations has_many bookings
guests has_many bookings
bookings belongs_to accommodations
bookings belongs_to guests
이것은 내가 내 BookingsController의 생성 작용에 지금까지 무엇을 가지고
- 새 예약에서 게스트 ID를 사용하려면 '빌드'를 두 번 사용해야합니까?
- 손님이 이미 이메일을 사용하고 있는지 어떻게 확인할 수 있습니까?
- 손님을 구성 할 때 params [: email]를 사용하는 것이 안전하고 안전합니까?
새로운 손님이 현재 사용자와 다른 이유는 다른 사람을 위해 예약 할 수 있다는 것입니다. – depa
사용자와 손님이 다른 경우 - 사용자가 손님을 대신하여 예약을 생성합니다. – tommyd456