2016-10-29 2 views
0

예약과 사용자 모델 간의 HABTM 연결에 추가하기 위해 확인란에서 가져온 사용자 배열에 액세스하려고합니다.레일스에서 ​​중첩 된 매개 변수에 액세스 - 체크 박스의 속성

Parameters: {"utf8"=>"✓", "authenticity_token"=>"vx0dTg8Q2XpyFcXpmmiwbwtFwNiRO25CQImGBasArDZjEbOmjh2lkBSdQGl8Z2Sgr7+kF2qveergEFjZr63AHQ==", "reservation"=>{"name"=>"daads", "phone"=>"", "email"=>"", "number_people"=>"1", "duration"=>"1", "address"=>"", "description"=>"", "users"=>["", "3", "2"]}, "commit"=>"Create Reservation", "date"=>"2016-10-30", "hour"=>"01:30", "id"=>"1"} 

내 메소드 코드는 다음과 같습니다 :

def add_reservation 
    @business = Business.find(params[:id]) 
    @reservation = Reservation.new(reservation_params) 
    init_date = params[:date].to_s + " " + params[:hour].to_s + ":00" 

    @reservation.date = init_date.to_datetime 
    @reservation.date_end = (@reservation.date.to_time + @reservation.duration.hours).to_datetime 


    user_reservation_params[:users].each do |u| 
    @reservation.users << u 
    end 

    @business.reservations << @reservation 

    flash[:success] = "Reservation added!" 
    redirect_to business_path(@business) 
end 

내 도우미가 정의로 :

private 
def reservation_params 
    params.require(:reservation).permit(:name, :email, :address, :phone, :duration, :date, :date_end, :number_people, :description) 
end 

private 
def user_reservation_params 
    params.require(:reservation).permit(:users => []) 
end 

방법 나는 현재에 접근하고있어

PARAMS 해시는 다음입니다 params 해시의 사용자 부분이 빈 변수를 제공합니다. 어떻게 그 값에 액세스해야합니까?

+0

': users => []'를'reservation_params'에 강력한 param으로 추가하고'reservation_params [ 'user']'로 액세스하여 컨트롤러의 사용자에게 액세스하십시오. – sa77

답변

0

params[:reservation][:users]과 같이 액세스 할 수 있습니다. 질량 할당에 사용되지 않았기 때문에 강력한 매개 변수를 사용할 필요가 없습니다.

관련 문제