【发布时间】:2011-03-03 08:22:04
【问题描述】:
通常会通过其父对象构建相关模型实例:
@child = @parent.children.build(params[:child])
但是当我们使用 STI 并且我们想要这样做的同时将其构建为子类之一时,语法似乎会崩溃。据我所知,这是最好的方法(忽略不根据批准列表检查类型的安全问题):
@child = params[:type].classify.constantize.new(params[params[:type]])
@child.parent = @parent
这是最好的方法吗?我使用单个控制器来构建所有不同的子类类型,因此我需要提供类型作为参数。
【问题讨论】:
标签: ruby-on-rails activerecord sti