特别是在我的新/创建动作中。我有@playlist = Playlist.new(params[:playlist])
。问题是我在attr_accessible中也有敏感数据,我不希望它们修改(播放列表中的侦听数量,他们不能更新)。
我尝试了Playlist.new(:title => params[:title], :description => params[:description], etc)
但是没有用。我假设因为我需要做params[:playlist][:title]
但这看起来很混乱。我做错了吗?
答案 0 :(得分:1)
在Model中你可以编写一个名为new_safe的函数,它创建带有你想要的参数的新对象然后返回它
像这样:def new_safe(params)
playlist = Playlist.new
playlist.title = params[:title]
playlist.description = params[:description]
playlist.save
playlist
end
只是想一想,你可以像这样写得更清楚
控制器:
@playlist = Playlist.new
@playlist.input_params(params)
型号:
def input_params(params)
playlist.title = params[:title]
playlist.description = params[:description]
playlist.save
end