1

特に私の新規/作成アクションで。私は持ってい@playlist = Playlist.new(params[:playlist])ます。重要なのは、attr_accessibleに機密データがあり、それらを変更したくないということです(プレイリストでのリッスンの数。更新できないはずです)。

試しPlaylist.new(:title => params[:title], :description => params[:description], etc)ましたが、うまくいきませんでした。私がする必要があるので私は推測しますparams[:playlist][:title]、しかしこれはかなり厄介に見えます。私はこれを間違ってやっていますか?

4

1 に答える 1

1

モデルでは、たとえば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
于 2012-09-24T17:26:20.677 に答える