我想显示属于关系的类别名称而不是数字(cat_id),我有汽车和制造商,基本上这里是代码 -
显示.html.erb
<p id="notice"><%= notice %></p>
<p>
<b>Make:</b>
<%= @car.make_id %>
</p>
<h2>
<em><%= @car.model %> <%= @car.body_typw %> <%= @car.engine_size %> <%= @car.trim %></em>
</h2>
<p>
<%= image_tag @car.image(:large) %>
</p>
<% @carimages.each do |carimage| %>
<%= image_tag carimage.image(:thumb), :class => "imgsmall" %>
<% end %>
<p>
<b>Transmission:</b>
<%= @car.transmission %>
</p>
<p>
<b>Fuel type:</b>
<%= @car.fuel_type %>
</p>
<p>
<b>Millage:</b>
<%= @car.millage %>
</p>
<p>
<b>Price:</b>
<%= number_to_currency(@car.price) %>
</p>
<p>
<%= raw @car.content %>
</p>
所以基本上我想在这里取名:-
<p>
<b>Make:</b>
<%= @car.make_id %>
</p>
汽车 Controller .rb
class CarsController < ApplicationController
# GET /cars
# GET /cars.json
def index
@cars = Car.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @cars }
end
end
# GET /cars/1
# GET /cars/1.json
def show
@car = Car.find(params[:id])
@pages = Page.all
@carimages = Carimage.all
@carimages = Carimage.find(:all, :limit => 10, :order => "id DESC")
respond_to do |format|
format.html # show.html.erb
format.json { render json: @car }
end
end
# GET /cars/new
# GET /cars/new.json
def new
@car = Car.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @car }
end
end
# GET /cars/1/edit
def edit
@car = Car.find(params[:id])
end
# POST /cars
# POST /cars.json
def create
@car = Car.new(params[:car])
respond_to do |format|
if @car.save
format.html { redirect_to @car, notice: 'Car was successfully created.' }
format.json { render json: @car, status: :created, location: @car }
else
format.html { render action: "new" }
format.json { render json: @car.errors, status: :unprocessable_entity }
end
end
end
# PUT /cars/1
# PUT /cars/1.json
def update
@car = Car.find(params[:id])
respond_to do |format|
if @car.update_attributes(params[:car])
format.html { redirect_to @car, notice: 'Car was successfully updated.' }
format.json { head :ok }
else
format.html { render action: "edit" }
format.json { render json: @car.errors, status: :unprocessable_entity }
end
end
end
# DELETE /cars/1
# DELETE /cars/1.json
def destroy
@car = Car.find(params[:id])
@car.destroy
respond_to do |format|
format.html { redirect_to cars_url }
format.json { head :ok }
end
end
end
它通过 make table - id 和 car table - make_id 相关
谢谢
罗比
最佳答案
当然 - 属于关系给你一个对象(在你的例子中是 Make
),你可以调用它的方法 - 包括获取字段名称!
因此,如果您像这样设置模型:
class Car < ActiveRecord::Base
belongs_to :make
end
class Make < ActiveRecord::Base
end
和
Make
有一个名为 name
的字段,你可以在你看来:<p>
<b>Make:</b>
<%= @car.make.name %>
</p>
关于ruby-on-rails - Rails 显示来自belongs_to 的类别名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8318304/