1
假設我有以下結構:的Rails 3:模型之間的數學
parts model:
- title
- weight
- part_type_id
part_type model:
- quotation
我想成立一個「價格」的各個部分。模型使用關聯(部分:has_one)和(part_types:belongs_to)。還行吧。
所以,基本上我在做什麼是創建一個虛擬屬性是這樣的:
class Parts < ActiveRecords::Base
..
attr_accessor :price
def price
quotation = PartType.find(self.part_type_id).quotation
price = self.weight * quotation
end
end
我可以從這樣的觀點稱之爲:
<% @parts.each do |part| %>
<%= part.title %>
<%= part.price %>
<% end %>
這是「正確的「這樣做的方式,或者我該怎麼做?
謝謝所有的解釋,首先我對使用'attr_accessor'和'attr_reader'感到困惑,但似乎如果它是一個只讀屬性,我真的應該去'attr_reader'。所以這樣看起來不錯。 –