я пытаюсь создать ассоциацию «Пользователь - информация», где мой пользователь has_many Infos.
Я пытаюсь позвонить моя информация о пользователе в форме индекса от пользователей.
Вызывая <% = user.infos%>
на моем index.html.erb (Users), он возвращает мне все данные из таблицы Infos, как это :
[#<Info id: 2, name: "Thales Miguel", date: "1989-07-14", area: "An\xC3\xA1lise de Sistemas", comment: "Analista j\xC3\xBAnior de sistemas.", user_id: 1, created_at: "2012-01-16 15:54:29", updated_at: "2012-01-16 15:54:29">]
Я предполагал, что, выполнив <% = user.infos.comment%>
, он вернет мне «комментарий» от этого пользователя, но все, что я получил, это ошибка:
undefined method `comment' for #<ActiveRecord::Relation:0x3b8ebe8>
Что такое Я делаю неправильно?
infos_controller:
class InfosController < ApplicationController
def create
@user = User.find(params[:user_id])
@info = @user.infos.create(params[:info])
redirect_to user_path(@user)
end
def destroy
@user = User.find(params[:user_id])
@info = @user.infos.find(params[:id])
@info.destroy
redirect_to user_path(@user)
end
def new
@user = User.new
@user.build_info
end
end
модель информации:
class Info < ActiveRecord::Base
belongs_to :user
end
модель пользователя:
class User < ActiveRecord::Base
validates :login, :presence => true
validates :password, :presence => true,
:length => {:minimum => 5}
has_many :infos, :dependent => :destroy
end