Я пытаюсь создать ассоциацию User - 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