首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何遍历rails模型参数

如何遍历rails模型参数
EN

Stack Overflow用户
提问于 2013-02-22 05:56:09
回答 2查看 183关注 0票数 1

我正在尝试在rails中设置一个方法,以便如果有一个参数的值为nil,则返回该参数的名称。

我有一个模型叫做Usages(天然气,电力,生物质)

我知道如何在ruby中这样做:

代码语言:javascript
复制
u = {elec: 100, gas: 200, biomass: nil}
t = %w(gas elec chp)
t.each do |t|
    s=t.to_sym
    if u[s] == nil
        puts "#{t}"
    end
end

,它返回“生物质”。

假设我在Rails中使用了以下代码:

代码语言:javascript
复制
u = Usage.create(elec:100, gas:200)

我如何返回“生物质”??

干杯!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-22 06:13:12

ActiveRecord模型上有一个基于链接到类的数据库表的attributes散列。空字段映射为nil值,因此您可以像这样查找它们:

代码语言:javascript
复制
u.attributes.select {|_,v| v.nil? }.keys
票数 4
EN

Stack Overflow用户

发布于 2013-02-22 06:13:10

我认为您只需要遍历活动记录attributes

代码语言:javascript
复制
u = Usage.create(elec:100, gas:200)
u.attributes.each do |x|
  if u.public_send(x).nil?
    puts "#{x} is nil"
  end
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15013004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档