首先让我解释一个例子:
在模型中:
class Product < ActiveRecord::Base has_many :line_items def income self.line_items.sum(:price) end def cost self.line_items.sum(:cost) end def profit self.income - self.cost end end
然后在控制器中:
def show @products = Product.all end
在视图中:
<% @products.each do |product| %> Product Name: <%= product.name %> Product Income: <%= product.income %> Product Cost: <%= product.cost %> Product Profit: <%= product.profit %> <% end %>
当我搜索它时,我发现许多人说从调用模型方法或从视图访问数据库不是一个好习惯.
而另一方面,其他一些人说不调用类方法或任何方法从视图更新数据库,但您可以访问任何只检索数据的方法.
那么,这段代码是一个好习惯吗?