Rails从关联中查找数据

灰狗

我不知道问题的标题是否正确。

我有locationshardwarehardware_type表,但没有嵌套的路线。
我已经建立了关系,以便locationhas_manyhardwarehardware属于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>

会工作,但我会得到undefined method 'name' for 1:Fixnum
如何访问这些数据

图式

create_table "hardware_categories", force: true do |t|
  t.string   "name"
  t.datetime "created_at"
  t.datetime "updated_at"
end

create_table "hardwares", force: true do |t|
  t.string   "name"
  t.string   "asset_tag"
  t.string   "serial_number"
  t.text     "description"
  t.text     "note"
  t.string   "cost"
  t.date     "purchase_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"
  t.integer  "manufacturer_id"
  t.integer  "supplier_id"
end
迪基男孩

<%= hardware.hardware_category.name %> 是你所需要的。

不需要_id关联的名称与您在模型中定义的名称相同。我认为它类似于:

belongs_to :hardware_category

我建议您在尝试做更多的滑轨之前,先阅读本指南。http://guides.rubyonrails.org/association_basics.html

您看到该错误的原因是因为hardware_category_id正是这样,Integer(FixNum)和FixNum类没有名为的方法/属性name

-

Rich Peck编辑

更好的方法是使用.try评估相应项是否hardware_category存在...

<%= hardware.hardware_category.try(:name) %>

...如果相应的对象不存在,这将防止任何“找不到”错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails中的关联别名方法

来自分类Dev

在Rails的同一查询中从关联模型加载数据

来自分类Dev

通过Rails中的关联3

来自分类Dev

验证Rails中的关联模型

来自分类Dev

如何更改Rails中的关联

来自分类Dev

在igraph数据框中查找与最大度关联的节点的名称

来自分类Dev

Rails中的简单关联

来自分类Dev

Rails活动记录关联:从多个表中获取数据

来自分类Dev

查找与WordPress数据库中的帖子相关联的“贡献者”用户

来自分类Dev

测试Rails中的多态关联

来自分类Dev

Ruby on Rails 4中的关联

来自分类Dev

在与2D坐标关联的数据数组中查找最大值的坐标

来自分类Dev

SwiftUI中的数据关联

来自分类Dev

Rails:查找用户ID存储在关联表中的用户

来自分类Dev

在与2D坐标关联的数据数组中查找最大值的坐标

来自分类Dev

Rails中的循环关联

来自分类Dev

CakePHP HABTM仅查找关联的模型数据

来自分类Dev

如何在Rails中存储“半恒定”关联数据?

来自分类Dev

Rails:无需关联即可从多个表中检索数据

来自分类Dev

Rails:在has-many / belongs-to关联中查找匹配属性

来自分类Dev

在igraph数据框中查找与最大度关联的节点的名称

来自分类Dev

视图未显示Ruby On Rails中关联表中的数据

来自分类Dev

在WordPress数据库中查找与帖子相关联的“贡献者”用户

来自分类Dev

在与Rails深度嵌套的关联中查找记录

来自分类Dev

Rails:如何在子模型(关联)中存储父数据

来自分类Dev

汇总连接表 Ruby on Rails 中关联的表中的数据

来自分类Dev

在 Rails 中查找缺少关联记录的记录

来自分类Dev

Rails - 通过属性在活动记录关联中查找对象而不发出更多查询

来自分类Dev

CakePHP:查找包含关联的数据

Related 相关文章

热门标签

归档