我不知道問題的標題是否正確。Rails從關聯中找到數據
我有位置,硬件和hardware_type表,但沒有嵌套的路線。 我已經建立了關係,以便位置has_many硬件和硬件屬於hardware_categories以及相互關係。
在表演動作我的位置控制器我有
class LocationsController < ApplicationController
before_action :set_location, only: [:show, :edit, :update, :destroy]
# GET /locations
# GET /locations.json
def index
@locations = Location.all
end
# GET /locations/1
# GET /locations/1.json
def show
@hardwares = Hardware.where(:location_id => params[:id])
end
和我的節目頁面
<% @hardwares.each do |hardware| %>
<tr>
<td><%= hardware.name %></td>
<td><%= hardware.asset_tag %></td>
<td><%= hardware.serial_number %></td>
<td><%= hardware.note %></td>
<td><%= hardware.hardware_category_id %></td>
</tr>
<% end %>
這工作和hardware.hardware_category_id返回正確的號碼。
我想展現hardware_category的名稱,而不是
我覺得像
<td><%= hardware.hardware_category_id.name %></td>
的工作,但我得到了一個未定義的方法'名稱」 1:Fixnum對象我怎麼會得到訪問這個數據
schema` create_table「hardware_categories」,force:true do | t | t.string 「名」 t.datetime 「created_at」 t.datetime 「的updated_at」 結束
CREATE_TABLE 「硬件」,力:真正做| T | t.string 「名」 t.string 「asset_tag」 t.string 「SERIAL_NUMBER」 t.text 「說明」 t.text 「注」 t.string 「成本」 t.date 「購買日期」 t.date 「warranty_end_date」 t.date 「EOL」 t.datetime 「created_at」 t.datetime 「的updated_at」 t.string 「MDL」 t.integer 「LOCATION_ID」 t.integer 「hardware_category_id」 噸.integer「manufacturer_id」 t.integer「supplier_id」 end`
看來你是Rails的新手。在直接進入堆棧溢出之前,你應該先嚐試一下非常基本的東西。 – punitcse
@punitcse我是新來的鐵軌。我認爲這會變得更加複雜。我嘗試了大多數.notation的組合,除了工作之外。我一直在想,我們需要通過id feild來到另一個桌子,而不是已經可用 – Greyhounddad