Ruby on rails 使用自定义类和简单表单创建记录

Ruby on rails 使用自定义类和简单表单创建记录,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有这个模型: class User < ActiveRecord::Base # abstract end class Company < User end class Person < User end 不能对“类型”属性进行批量分配。您可以这样做: 这是你所能做到的最简洁的: @@classmap = { :person => Person, :company => Company } @@Classmap[params[:user].dele

我有这个模型:

class User < ActiveRecord::Base
  # abstract
end

class Company < User

end

class Person < User

end

不能对“类型”属性进行批量分配。您可以这样做:


这是你所能做到的最简洁的:

@@classmap = { :person => Person, :company => Company }
@@Classmap[params[:user].delete :type].new(params[:user])

不要将
params[:type]
直接转换为类名。这是一个有待利用的安全漏洞。

你的意思是说你应该有一个类似dropbox的东西来列出公司、个人的所有实体吗?你是在使用单表继承吗?
@user = User.new(params[:user]) # Pb params[:user][:type] have no effect
type = params[:user].delete :type
@user = User.new(params[:user])
@user.type = type
@user.save
@@classmap = { :person => Person, :company => Company }
@@Classmap[params[:user].delete :type].new(params[:user])