繁体   English   中英

如何在Rails 3.2应用程序中从具有不同键的两个模型创建数组?

[英]How can I create an array from two models that have different keys in a Rails 3.2 app?

我想将两个表的结果合并到一个数组中,以便可以按字母顺序对数组进行排序。

在我的控制器中:

@defs = []

definitions = Definition.all
definitions.each do |d|
   ... # set the value of @term and @definition based on conditions
   @defs << {:term => @term, :definition => @definition}
end

definitions = Definition2.all
definitions.each do |d|
   ... # set the value of @term and @definition based on conditions
   @defs << {:term => @term, :definition => @definition}
end

然后我希望在视图中显示每个项目:

@defs.each do |d|
   ...
   <%= d.term %>
   <%= d.definition %>
   ...
end

但是我收到以下错误。

undefined method `definition' for #<Hash:0x007fb0cf109118>

谢谢你的帮助。

应该以d[:term]d[:definition]

由于您的视图现在使用的是哈希数组而不是ActiveRecord对象,因此您需要像访问其他任何哈希值一样访问termdefinition字段:

<%= d[:term] %>
<%= d[:definition] %>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM