有一个http://localhost:3000/me/posts/new?type=note
我想通过 Controller 中的参数type
创建一个模型,并且我有一个名为 Post::Note 的模型。
那么如何通过 params[:type] string 创建它?
最佳答案
试试这个:
note_klass = params[:type].camelize.constantize
note = note_klass.new
回复:问题编辑
如果您的 Note
类不是全局的,您可以使用:
const_name = params[:type].camelize
note_klass = Post.const_get(const_name)
关于ruby-on-rails-3 - 如何在 Rails 中将字符串变形为模型名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14562553/