如何通过find方法调用变量

cri*_*erz 1 ruby ruby-on-rails ruby-on-rails-3

我是ruby on rails的新手,这就是问题所在:

我正试图在汽车信息循环中获取客户名称.汽车数据包含一个名为"belongs_to"的列,该列是客户端的ID.

重要的一句话: <td><%= @client.find(car.belongs_to) %></td>

控制器:

  def index
    @cars = Car.all

    @client = Client.all

    respond_to do |format|
      format.html # index.html.erb
      format.xml  { render :xml => @cars }
    end
  end
Run Code Online (Sandbox Code Playgroud)

你们这样做怎么样?

pex*_*pex 7

您可以使用Models来实现此目的:

class Car < ActiveRecord::Base
  belongs_to :client
end

class Client < ActiveRecord::Base
  has_many :cars
end
Run Code Online (Sandbox Code Playgroud)

并在您的视图中:

@car.client
Run Code Online (Sandbox Code Playgroud)

编辑

或者反过来说:

@client.cars
# to iterate over them:
@client.cars.each do |car|
  # do something with car
end
Run Code Online (Sandbox Code Playgroud)