我正在一个项目中,用户可以看到狗公园,并为每个公园设置单独的游戏日期。我遇到的问题是PlaydatesController创建操作无法持久保存每个新播放日期与之关联的user_id和park_id。我尝试将 optional:true 添加到我的Playdate模型中,该模型确实保存了每个播放日期。但是,这样做会使user_id和park_id的 null 列条目。
我需要的是user_id和park_id来创建一个播放日期并保持播放日期和公园之间的关联...我搞砸了关联吗?非常感谢您的帮助。
这是我的代码:
播放日期模型:
audio.play()
停车模式:
class Playdate < ApplicationRecord
belongs_to :park
belongs_to :user
validates :date, presence: true
validates :time, presence: true
end
用户型号:
class Park < ApplicationRecord
has_many :playdates
has_many :comments
has_many :users, through: :comments
end
播放日期控制器:
class User < ApplicationRecord
has_many :parks
has_many :playdates
has_many :comments, through: :parks
end
播放日期新视图:
def create
@playdate = Playdate.new(playdate_params)
if @playdate.save!
redirect_to park_path(@park)
else
render :new
end
end
private
def playdate_params
params.require(:playdate).permit(:time, :date, :user_id, :park_id)
end
答案 0 :(得分:0)
您应该使用:
f.hidden_field :user_id, value: current_user.id
f.hidden_field :park_id, value: @park.id
“ hidden_field_tag”和“ hidden_field”之间呈现的HTML不同。自己尝试看看有什么区别。