从表中访问数据

时间:2013-10-22 00:45:43

标签: ruby-on-rails

我正在尝试引用rails应用程序中另一个表的列。我想使用两个表(站点和试验)中匹配的site_id列来引用site_name。

我的控制器

def list
 @list = Trial.year(params[:year]).order(:region_id)
end

我的模特

class Trial < ActiveRecord::Base
  attr_accessible :trial_id, :site_id, :year, :trial_type, :region_id

  scope :year, ->(year) { where(year: year) }
  scope :trial_id, ->(trial_id) { where(trial_id: trial_id) }

  belongs_to :site

end


class Site < ActiveRecord::Base
  attr_accessible :site_id, :site_name, :region

  has_many :trials

end

我的观点

<table class="table">
    <th>Trial Location</th>
    <th>Trial Type</th>
    <th>Grower</th>
    <% @list.each do |list| %>
    <tr>
    <td>
  <%= link_to list.site.site_name, trial_trials_path(trial_id: list.trial_id) %>
    </td>
    <td>    
    <%= link_to list.trial_type, trial_trials_path(trial_id: list.trial_id) unless list.trial_type.blank? %>
    </td>
    <td>    
    <%= link_to list.trial_type, trial_trials_path(trial_id: list.trial_id) unless list.trial_type.blank? %>
    </td>
    </tr>
    <% end %>
</table>

1 个答案:

答案 0 :(得分:0)

在模型中设置关联会为您编写getter方法。 attr_accessibles设置该方法。

将网站添加到试用版的attr_accessible