Ruby on rails Rails如何循环计算并创建一个;假;专栏?

Ruby on rails Rails如何循环计算并创建一个;假;专栏?,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我想循环一个基于用户参数的计算 在我的索引操作中,我有以下示例: @com = Company.where(:online => true).order('position') 我的桌子上有: Name (varchar) Price1 (integer) Price2 (integer) Price1in (integer) Price2in (integer) 在视图中,我有一个简单的循环: <%= com.name %><br /> <%= com.

我想循环一个基于用户参数的计算

在我的索引操作中,我有以下示例:

@com = Company.where(:online => true).order('position')
我的桌子上有:

Name (varchar)
Price1 (integer)
Price2 (integer)
Price1in (integer)
Price2in (integer)
在视图中,我有一个简单的循环:

<%= com.name %><br />
<%= com.price1 %><br />
<%= com.price2 %>
我现在可以做:

<% @com.each do |com| %>

    <%= com.name %><br />
    <%= com.price1 %><br />
    <%= com.price2 %><br />
    <%= com.sum_price(params[:price]) %><br />
    <%= com.sum_price2(params[:price2]) %>
<% end %>
这应该起作用:

class Company
  include Comparable
  attr_accessor :total_price

  def <=> other
    self.total_price <=> other.total_price
  end

  def sum_price(x)
    (((x - self.price1in) * (60 * self.price1)) / 100))
  end

  def sum_price2(x)
    (self.price2 * x / 100)
  end

  def calculate_total price1, price2
    @total_price ||= sum_price(price1) + sum_price2(price2)
  end
end

#controller
@companies = Company.all
@companies.each{|company| company.calculate_total(params[:price], params[:price2])}
@companies.sort!
class公司
包括可比
属性存取器:总价
定义其他
self.总价其他.总价
结束
定义总价(x)
(((x-自定价1英寸)*(60*自定价1))/100))
结束
定义总价2(x)
(自行定价2*x/100)
结束
def计算_总价1、总价2
@总价=总价(价格1)+总价2(价格2)
结束
结束
#控制器
@公司
@公司。每个{公司{公司。计算{u总计(参数[:价格],参数[:价格2]))
@公司,排序!
这应该可以:

class Company
  include Comparable
  attr_accessor :total_price

  def <=> other
    self.total_price <=> other.total_price
  end

  def sum_price(x)
    (((x - self.price1in) * (60 * self.price1)) / 100))
  end

  def sum_price2(x)
    (self.price2 * x / 100)
  end

  def calculate_total price1, price2
    @total_price ||= sum_price(price1) + sum_price2(price2)
  end
end

#controller
@companies = Company.all
@companies.each{|company| company.calculate_total(params[:price], params[:price2])}
@companies.sort!
class公司
包括可比
属性存取器:总价
定义其他
self.总价其他.总价
结束
定义总价(x)
(((x-自定价1英寸)*(60*自定价1))/100))
结束
定义总价2(x)
(自行定价2*x/100)
结束
def计算_总价1、总价2
@总价=总价(价格1)+总价2(价格2)
结束
结束
#控制器
@公司
@公司。每个{公司{公司。计算{u总计(参数[:价格],参数[:价格2]))
@公司,排序!

总价从何而来?编辑:刚刚看到的是总价2+总价1。总价从何而来?编辑:刚刚看到它的总和价格2+总和价格1。排序工作。通过这种方式,我可以判断“无论什么时候进行排序,都要按照它们的总价格进行排序。”我创建了一个类似的问题,因为一家公司可以有许多软件包。问题是为用户找到最便宜的价格。当包含一个或多个包裹或必要时,总价可能更便宜。为了工作。通过这种方式,我可以判断“无论什么时候进行排序,都要按照它们的总价格进行排序。”我创建了一个类似的问题,因为一家公司可以有许多软件包。问题是为用户找到最便宜的价格。当包含一个或多个包裹或必要时,总价可能更便宜。
class Company
  include Comparable
  attr_accessor :total_price

  def <=> other
    self.total_price <=> other.total_price
  end

  def sum_price(x)
    (((x - self.price1in) * (60 * self.price1)) / 100))
  end

  def sum_price2(x)
    (self.price2 * x / 100)
  end

  def calculate_total price1, price2
    @total_price ||= sum_price(price1) + sum_price2(price2)
  end
end

#controller
@companies = Company.all
@companies.each{|company| company.calculate_total(params[:price], params[:price2])}
@companies.sort!