noob問題警告:如何通過關聯迴路中軌
方案
我在我的Rails應用程序,即兩種型號。名字和暱稱。
的關聯是:
name has_many :nicknames
nickname belongs_to :name
在哪裏,遷移是
class CreateNames < ActiveRecord::Migration
def change
create_table :names do |t|
t.string :name
t.timestamps null: false
end
end
end
和
class CreateNicknames < ActiveRecord::Migration
def change
create_table :nicknames do |t|
t.integer :name_id
t.string :nickname
t.timestamps null: false
end
end
end
我有一個家控制器
class HomeController < ApplicationController
def index
@names = Name.all
end
end
我家的索引頁看起來像
<% @names.each do |name| %>
<h3><%= name.name %></h3>
<% end %>
工作正常。
問題
我想顯示在一個名稱下的所有暱稱
喜歡的東西
<% @names.each do |name| %>
<h3><%= name.name %></h3>
<% @name.each do |nickname| %>
<p><%= nickname.nickname %></p>
<% end %>
<% end %>
我怎樣才能做到這一點???請幫助
編輯:協會從鐵軌控制檯的工作只是罰款
提取物:
irb(main):025:0> Name.first.nicknames.first
Name Load (0.8ms) SELECT "names".* FROM "names" ORDER BY "names"."id" ASC LIMIT 1
Nickname Load (0.4ms) SELECT "nicknames".* FROM "nicknames" WHERE "nicknames"."name_id" = $1 ORDER BY "nicknames"."id" ASC LIMIT 1 [["name_id", 1]]
=> #<Nickname id: 1, name_id: 1, nickname: "somenickname", created_at: "2016-04-03 14:36:15", updated_at: "2016-04-03 14:36:15">
給出錯誤 「未定義的方法'暱稱的零:NilClass」 – Abhi9
改變家庭控制器指數'@ names'取代'@name ' – miler350
對不起,早期修復 – Abhi9