【发布时间】:2014-11-27 15:20:29
【问题描述】:
我的应用程序使用当前代码已经运行了一年多,但升级到 Rails 4.1.8 后出现以下错误:
这是一个音乐评论网站,用户有很多 pin,即评论,pin 属于用户。引脚有一个“年份”,它是一个字符串。用户对他们评论的专辑进行排名,以便该网站将创建他们今年的前十名列表。此页面显示所有发布前十名的用户。
页面控制器:
def tens2013
@users = User.includes(:pins).where('pins.year=?', '2013')
@pins = Pin.all
@pins_ten = Pin.where(:year => '2013', :rank => ['10', '9', '8', '7', '6', '5', '4', '3', '2', '1'], :rank => !nil)
end
观点:
<% @users.each do |user| %>
<ul class="ver2 well">
<li><div class="reviewer"><%= link_to (image_tag user.image(:small)), user %><h4><%= user.name %></h4></div></li>
<% user.pins.order('rank DESC').each do |pin| %>
<% if pin.year == '2013' && (pin.rank == 10 || pin.rank == 9 || pin.rank == 8 || pin.rank == 7 || pin.rank == 6 || pin.rank == 5 || pin.rank == 4 || pin.rank == 3 || pin.rank == 2 || pin.rank == 1 ) %>
<li><div class="span2"><%= link_to (image_tag pin.image(:medium)), pin %><br/> #<%= pin.rank %> <br/> <%= truncate(pin.album, length:15) %></div></li>
<% end %>
<% end %>
</ul>
<% end %>
我假设 Rails 中的某些更改与 .where 方法不兼容。我一直在谷歌上搜索,但似乎找不到变化。
【问题讨论】:
标签: sqlite ruby-on-rails-4 activerecord