ruby on rails - 将id转换为name

时间:2012-04-28 16:17:23

标签: ruby-on-rails ruby

我有两个对象成分&起源。
每种成分都有一个来源,所以在原料中我有origin_id
视图显示

<p>
  <b>Name:</b>
  <%= @ingredient.name %>
</p>

<p>
  <b>Origin:</b>
  <%= @ingredient.origin_id %>
</p>

我想显示原产地名称而不是ID 如何将名称带到显示屏?

编辑:类成分声明如下

class Ingredient < ActiveRecord::Base
  has_and_belongs_to_many :recipes
  belongs_to :origin

  attr_accessible :name, :origin_id
end

班级来源

class Origin < ActiveRecord::Base
  attr_accessible :name
end

1 个答案:

答案 0 :(得分:4)

您必须在Ingredient课程中声明:

belongs_to :origin

之后,您可以使用

<%= @ingredient.origin.name %>

在您的案例中查看Rail Relation Guidebelongs_tohas_one关联)