从ActiveRecord的响应中选择特定记录

时间:2016-06-07 19:36:47

标签: ruby-on-rails activerecord

我在我的控制器中调用了ActiveRecord:

@configurations = EmailConfiguration.where(customer_id: '1', email_template: '1')

这将返回具有正确参数的所有EmailConfigurations。每条记录都有field_idthe_value。我想在视图中显示值:

@configurations.where(field_id: 1).the_value

我需要在视图中添加什么来选择数据库返回的集合中的某条记录?

2 个答案:

答案 0 :(得分:0)

您可以使用select作为数组上的快速过滤器

@configurations.select {|c| c.field_id == 1}

将使用field_id = 1返回所有集合。如果您知道只有一个集合,则可以将其链接以进行直接输出:

@configurations.select {|c| c.field_id == 1}.first.the_value

答案 1 :(得分:0)

@configurations.where(field_id: 1)
即使只有一个结果,

也会返回一个对象集合(数组)。如果您只想显示一个上面建议的那个:

@configurations.select {|c| c.field_id == 1}.first.the_value

如果您想显示所有“the_values”,您可以

field_1_configs = @configurations.select do |c| c.field_id == 1
end

field_1_configs.map{|config| config.the_value }