Rails--表达变量属性的值

时间:2011-12-07 04:58:01

标签: ruby-on-rails ruby

我有一个猜对象并且做了

y guess = Guess.find_by_id(5)

并得到了这个

id: "5"
firstanswer_chambersapp: f
firstanswer_interview: f
firstanswer_letter: f
firstanswer_drafting: f
firstanswer_barrister: f
firstanswer_solicitor: t
secondanswer_chambersapp: "6"
secondanswer_interview: "2"
secondanswer_letter: "3"
secondanswer_drafting: "5"
secondanswer_barrister: "4"
secondanswer_solicitor: "1"

我想要做的是获取所有secondanswers_并按整数值(ASC)对它们进行排序。我有办法在ruby / rails中做到这一点吗?

我期待它涉及

guess.each do |e|

 end

但是我对中间的代码感到迷茫:(

任何提示都会有所帮助。我显然也可以立即检索所有结果

y guess = Guess.all

如果这使他们更容易排序

我也想知道我是否以错误的方式设置数据库以使其可以检索值..

1 个答案:

答案 0 :(得分:1)

Guess.select(Guess.column_names.select{|field| field =~ /^secondanswer_/}).find(5)

这将只返回记录的secondanswer_ *字段。

Guess.select(Guess.column_names.select{|field| field =~ /^secondanswer_/}).sort{|a,b| a.secondanswer_champbersapp <=> b.secondanswer_chambersapp}

将返回按secondanswer_chambersapp排序的所有Guess记录。