我有以下型號:選擇的form_for幫手家長協會
class Reservation < ActiveRecord::Base
belongs_to :room
#some validations
validates :room, presence: true
end
而且
class Room < ActiveRecord::Base
has_many :reservation
# some validations
end
我試圖做的是展現ROOM_ID的選擇選項並驗證協會,不是外鍵。
所以,我有Reservation
這種形式幫助選擇:
<%= f.select :room_id, Room.all.map { |room| [ room.code, room.id ] }, required: true %>
問題是,當我試圖保存室的驗證調用,並說,
「房間可以't be blank「
我該怎麼做?在ReservationController我的允許的PARAMS是:
params.required(:reservation).permit(:room, ...) #... = other params
感謝
將'room_id'添加到強參數時會發生什麼?你也可以發佈你的預訂/房間控制器創建操作? –
@HarrisonLucas 驗證通過,如果我改變:房間:room_id允許PARAMS。 如何驗證房間是否存在?驗證:'validates:room,presence:true'不會這樣做? 有更好的方法來創建選擇?像[simple_form]使用'f.association'由[plataformatec](https://github.com/plataformatec/simple_form) – gumaro
看到我的答案更詳細的解釋 –