我对(rails 3)activerecord 查询有一个奇怪的问题。
如果我将查询#1(下)提交给视图(下)一切正常...但是如果我提交查询#2(下),我会得到“nil:NilClass 的未定义方法`strftime'”
...但是,如果我从查询 #2 中剥离 strtime 字符串,它会返回未格式化的时间就好了。
“专业”是一个 has_many :through 表;我假设这与它有关......但我无法弄清楚是什么。
知道发生了什么吗?所有建议表示赞赏:
查询 #1(工作正常)
@professionals = Professional.all(:include => :user, :conditions => ["users.first_name = ? AND users.last_name = ?", params[:name][:first], params[:name][:last]])
查询 #2(中断 strtime)
@professionals = Professional.all(:include => [:user, :professional_specialties], :conditions => ["professional_specialties.profession_type_id = ?", params[:profession_type]] )
看法
<% @professionals.each do |p| %>
<tr>
<td><%= link_to("%s %s" % [p.user.first_name, p.user.last_name], p) %></td>
<td><%= p.business %></td>
<td><%= p.user.role.name %></td>
<td><%= p.user.created_at %></td>
<td><%= p.user.last_sign_in_at.strftime("%Y") %></td>
</tr>
<% end %>