好的,我的控制器的索引部分设置了
@patients = Patient.all
然后在patients_helper.rb
def race_abrev
return self.caucasian
end
其中Caucasian是Patients表中的整数数据类型列
然后在视图index.html.erb
中<% @patients.each do |p| %>
<td><%= p.gender %></td>
<td><%= p.ethnicity %></td>
<td><%= p.race_abrev %></td>
<% end %>
我得到了
undefined method `race_abrev' for #<Patient:0xb4d95cd8>
我已经检查了表格,我期待耐心。高加索人返回整数1,我错过了什么......对我似乎有的基本误解有什么见解?
答案 0 :(得分:2)
race_abrev
是帮助者,而不是Patient
上的方法:
<%= race_abrev(p) %>
帮助器本身会返回p.caucasian
,虽然看起来你实际上想要做值为caucasian
的东西,比如比较或东西。
所有这些都说,我不确定为什么你没有在模型上定义它(或者它实际上是什么),因为到目前为止它似乎与视图没有任何关系,是帮助者的视图。
如果您要在数据库中存储要转换的内容,它可能属于也可能不属于视图助手;如果要把它变成人类可读的东西,我就更有可能把它放在模型中。