Rails 显示 table 数据
Rails display table data
我用三个 类 开发了 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 与 Observation 相关,而 Observation 通过 location_id.
与 Location 相关
如果我转到控制台并输入如下内容:
Location.all.first.observations.first.rainfall.value
它returns 我是降雨量值列中的数据
然而,当我想将 rails 中的所有信息合并到 table 和我的 view/location/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 个小时里,我尽我所能地尝试了一切,现在有点沮丧....有什么想法吗?
请注意,我有一个位置控制器,但观测和降雨量是作为模型生成的,所以没有。我在想我需要向我的位置控制器添加一些东西,只是无法弄清楚是什么,而且我不确定为什么它 returns 控制台中的正确数据,只是应用程序中没有。
Observation.has_one :rainfall
,所以应该是:
<%= obs.rainfall.value %>
你们是一对一的关系,不是has_many。替换
<%= obs.rainfalls.value %>
来自
<%= obs.rainfall.value %>
我用三个 类 开发了 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 与 Observation 相关,而 Observation 通过 location_id.
与 Location 相关如果我转到控制台并输入如下内容: Location.all.first.observations.first.rainfall.value 它returns 我是降雨量值列中的数据
然而,当我想将 rails 中的所有信息合并到 table 和我的 view/location/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 个小时里,我尽我所能地尝试了一切,现在有点沮丧....有什么想法吗?
请注意,我有一个位置控制器,但观测和降雨量是作为模型生成的,所以没有。我在想我需要向我的位置控制器添加一些东西,只是无法弄清楚是什么,而且我不确定为什么它 returns 控制台中的正确数据,只是应用程序中没有。
Observation.has_one :rainfall
,所以应该是:
<%= obs.rainfall.value %>
你们是一对一的关系,不是has_many。替换
<%= obs.rainfalls.value %>
来自
<%= obs.rainfall.value %>