Rails - как отобразить имя, связанное с идентификатором - PullRequest
0 голосов
/ 31 января 2012

У меня есть (надеюсь) простой вопрос, на который можно было бы ответить раньше ... я просто не смог его найти ... ну, поехали, должно быть достаточно просто.

У меня есть эта схема

create_table "items", :force => true do |t|
t.text     "description"
t.string   "priority"
t.date     "date"
t.time     "time"
t.datetime "created_at"
t.datetime "updated_at"
t.boolean  "done"
t.integer  "user_id"
end

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

И у меня есть это в моей форме для добавления нового элемента:

<%= collection_select(:item, :user_id, User.all, :id, :name) %>

Теперь, это работает, данные сохранены правильно (я уже установил правильные корреляции).Однако я хочу, чтобы в индексе предметов отображалось имя человека, которому назначен предмет, а не просто идентификационный номер.

В предметах / указателе у меня есть:

<td><%= item.user_id. %></td>

но я скорее хочу что-то вроде

item.user.name

, это не сработает - наверное, мне нужно какое-то действие в моем контроллере.Не могли бы вы мне помочь?:)

РЕДАКТИРОВАТЬ вот еще несколько деталей: Мои модели:

class User < ActiveRecord::Base
has_many :items
end

class Item < ActiveRecord::Base
belongs_to :user
end

1 Ответ

1 голос
/ 31 января 2012

Добавьте это к вашему классу предметов:

class Items < ActiveRecord::Base
  belongs_to :user
end

Тогда item.user.name должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...