好的,我有字符串“Product”。
table_name = "Product"
我无法做到
table_name.new
undefined method `new
所以我试图找到像这样的工作
table_name = table_name.downcase.pluralize
name = ActiveRecord::Base.connection.tables.select { |t| t == table_name }.first
name.new
我不确定这会起作用,但即使它看起来像黑客,任何想清理它的想法
答案 0 :(得分:3)
如果您想避免拨打eval
,也可以
"product".camelize.constantize.new
答案 1 :(得分:0)
试试这个:
(instance_eval table_name).new