根据反馈,我正在修改这个问题。如何使用常量(在模型中定义)将整数数组转换为视图页面上显示的一组值。我可以在我的表格页面上进行,但还没有想到索引。
在索引页面上(如果dbase具有等级:[0,1,2],页面应显示为A +,A,B)
类似于一周中几天所做的事情(例如http://hightechsorcery.com/2010/02/16/ruby-arrays-and-hashes-and-days-of-the-week/
....
<h4 class="h3"><%= @gradestemp %>
CONTROLLER 标签控制器
def index
@labels = current_user.labels
grad = []
@gradestemp = Contact::GRADES.each_with_index { |x, i| grad << [x, i] }
render
end
模型注意:GRADES是常量 - 我也试图在标签中使用 class Label&lt;的ActiveRecord :: Base的 注意:这是在CONTACT模型中
GRADES = [["A+",0 ], ["A",1], ["B", 2], [ "C",3], [ "D",4], [ "-",5]]
我可以在标签控制器中访问Contact GRADES吗?
我找到了这个 - 这与我想要做的类似: Ruby: How to store and display a day of the week?
根据以下建议,这就是诀窍:
<h4 class="h3"><%= print_campaign.grades.compact.map{|idx| Contact::GRADES[idx][0]}.join(' ') %>
答案 0 :(得分:1)
[0, 1, 2].map {|g| Contact::GRADES.select.map {|letter, val| val == g; letter}
实际上,GRADES
似乎比Hash
更好:
GRADES = {
"A+" => 0,
"A" => 1,
..
}
然后你查找会更简单
[0, 1, 2].map {|g| Contact::GRADES.key(g) }