8

ここに一つhttp://localhost:3000/me/posts/new?type=note

コントローラのパラメータでモデルを作成したいのですがtype、Post::Noteという名前のモデルがあります。

では、params [:type]文字列で作成する方法は?

4

1 に答える 1

12

これを試して:

note_klass = params[:type].camelize.constantize
note = note_klass.new

RE:質問編集

クラスがグローバルでない場合Noteは、次を使用できます。

const_name = params[:type].camelize
note_klass = Post.const_get(const_name)
于 2013-01-28T13:01:07.300 に答える