我開發了三類rails應用程序。Rails顯示錶格數據
class Location < ActiveRecord::Base
has_many :observations
end
class Observation < ActiveRecord::Base
belongs_to :location
has_one :rainfall
has_one :temperature
has_one :winddirection
has_one :windspeed
has_one :dewpoint
end
class Rainfall < ActiveRecord::Base
belongs_to :observation
end
Railfall通過一個observation_id有關觀察和觀測通過LOCATION_ID相關位置。
如果我去安慰,並鍵入類似: Location.all.first.observations.first.rainfall.value 它返回我降雨
不過的值列中的數據時,我想,所有這些都在一個表,並在我看來/位置/ index.html.erb軌的信息,我把:
<tbody>
<% @locations.each do |location| %>
<tr>
<td><%= location.name %></td>
<% unless @observations = nil %>
<% location.observations.each do |obs| %>
<td><%= obs.name %></td>
<% unless @rainfalls = nil %>
<td><%= obs.rainfalls.value %></td>
<% end %>
<% end %>
我得到一個錯誤:
undefined method `rainfalls' for Observation:0x00000004219068>
我已經花了最後5個小時嘗試我所能做的一切,並得到一絲沮喪......任何想法?
請注意我有一個位置控制器,但觀察和降雨量是作爲模型生成的,所以不要。我以爲我需要添加一些東西到我的位置控制器,只是不能解決什麼問題,我不確定它爲什麼會在控制檯中返回正確的數據,只是在應用程序中沒有。
它應該是** **降雨,因爲它是一個** ** HAS_ONE關係 – Abhi
只是我自己的'Observation',你真的需要所有這些關係?看起來像所有這些'has_one'關係可能只是'Observation'模型中的字段。 – Matt