Rails 3 - 计算列

时间:2012-12-03 11:59:28

标签: ruby-on-rails

我想创建一个在rails 3上乘以column1和column2的计算字段。

像这样:

totalpoint = column1 * column2

我必须在哪里放置代码?在模型中?我该怎么写呢?

如何从我的视角中调用它?

2 个答案:

答案 0 :(得分:6)

我认为最好放在模型上

attr_reader :totalpoint

def totalpoint
  column1 * column2
end

给出模型的一些实例@m,它可以在任何地方(在动作中,在视图中等)访问

@m.totalpoint

您可以使用

模型中访问此内容
@totalpoint

答案 1 :(得分:1)

在你的控制器中,create将计算放在一个实例变量中(以@开头)在被调用的动作中,例如index:

def index
  @totalpoint = column1 * column2
end

在您的视图(index.html.erb)中,您可以使用实例变量:

<div>
  Total point = <%= @totalpoint %>
</div>

如果您需要为多行执行此操作,则可以使用数组并在视图中使用它。