Rails: user.r.new 当 r 是迭代器时
Rails: user.r.new when r is an iterator
如果我有一个 类 的数组,如下所示:
def resources
[Brand, Chart, Component, Cover, Expression, Introduction, Mode, Preference, Price, Template, User, UserNote]
end
如何在具有 parent 关联的循环中构建每一个,即:
resources.each do |r|
current_user.r.new
end
不确定如何将 r
转换为 child。谢谢!
如果所有关联都定义为has_many,您可以将模型表化并使用这样的发送方法。
resources.each do |r|
current_user.send(r.to_s.tableize).new
end
如果包含任何 belongs_to 关联,最好在资源方法中使用关联名称数组而不是 类。
def resources
%w(brands charts component ....)
end
resources.each do |r|
current_user.send(r).new
end
如果我有一个 类 的数组,如下所示:
def resources
[Brand, Chart, Component, Cover, Expression, Introduction, Mode, Preference, Price, Template, User, UserNote]
end
如何在具有 parent 关联的循环中构建每一个,即:
resources.each do |r|
current_user.r.new
end
不确定如何将 r
转换为 child。谢谢!
如果所有关联都定义为has_many,您可以将模型表化并使用这样的发送方法。
resources.each do |r|
current_user.send(r.to_s.tableize).new
end
如果包含任何 belongs_to 关联,最好在资源方法中使用关联名称数组而不是 类。
def resources
%w(brands charts component ....)
end
resources.each do |r|
current_user.send(r).new
end