ruby-on-rails - Rails 如何在实例变量之后排序

标签 ruby-on-rails ruby ruby-on-rails-3

在我的 konkurrancerstable 中我有:

rating_score => The current score (integer)
ratings => The number of ratings which led to the score (integer)

在我看来,我想在评分后对 konkurrancers 进行排序。 所以我必须做这个数学:rating_score/ratings 评分可能不为空,因为我不能除以零。

<% @konkurrencer.find(:all, :order => '@rating ASC', :limit => 5).each do |vind| %>
  <%= link_to(image_tag(vind.banner2, :style => 'border:none; width:125px; height:125px;'), vind.tracking, :target => '_blank')  %>
<% end %>

我的 Controller :

class PublicController < ApplicationController
  helper_method :sort_column, :sort_direction
  def index 
    @konkurrencer = Konkurrancer
  end
end

我的看法:

15: <%= @konkurrencer.find(:all, :select => "rating_score/ratings AS rating", :order => 'rating ASC', :limit => 5).each do |da| %>
16: <%= da.banner2 %>
17: <% end %>

我得到以下错误:

ActiveModel::MissingAttributeError in Public#index Showing C:/Rails/konkurranceportalen/app/views/public/_konkurrencer.html.erb where line #16 raised: missing attribute: banner2

如何创建实例变量 rating 来订购 konkurrancers?

最佳答案

如果不出意外,您可以从数据库中检索记录列表后按两个标准对其进行排序。

在 Controller 的 index 方法中,我会这样做:

@konkurrancers = Konkurrancer.find(:all, :order => '@rating ASC')
@konkurrancers.sort! {|a, b|
  rel = a.rating_score <=> b.rating_score
  # if "rating_scores" are equivalent, only then consider "ratings"
  rel == 0 ? a.ratings <=> b.ratings : rel
}

这将为您提供所有 Konkurrencer 对象的列表,并按两个标准排序。

在你看来,我会这样做:

<% @konkurrancers[0,5].each do |vind| %>
   <%= link_to(image_tag(vind.banner2, :style => 'border:none; width:125px; height:125px;'), vind.tracking, :target => '_blank')  %>
<% end %

这应该只为您在 Controller 中创建的列表中的前 5 个项目创建 html。 (这是你想要的吗?)

关于ruby-on-rails - Rails 如何在实例变量之后排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5626154/

相关文章:

ruby-on-rails - 如何显示多个模型的列表

ruby - 计算同一索引处的匹配值

java - 如何在 JRuby 中初始化 SQLite3 JDBC 驱动程序?

ruby-on-rails - Ruby true、false 或 nil

ruby - 如何使用礼物?在 Ruby 项目中?

ruby-on-rails - rails3 devise - 没有路由匹配 "/sessions/user"

ruby-on-rails - :model and :model_id in attr_accessible for Rails/ActiveRecord? 之间的任何差异

ruby-on-rails - rails 路由。单一资源

ruby-on-rails - 选择并采纳 rails 命中相同的 SQL 查询但结果不同

ruby-on-rails - 如何更改为查看辅助方法?