Rails3 запутался в активных связях

#ruby-on-rails #active-relation

#ruby-on-rails #active-relationship

Вопрос:

Я просмотрел документы по этому вопросу, но я все еще немного в замешательстве. Моя цель — вернуть поле содержимого в @mom. Но это не удается с неопределенным методом `content’. и @goals работает. Чего мне не хватает в @mom и как я могу заставить это работать?

project_controller.rb

 def show
  @project = Project.find(params[:id])
  @goals = @project.projectgoals.find(:first, :order => "created_at DESC")
  @mom = @project.projectgoals.order(:created_at => "DESC").limit(1).all
end
  

Показать.html.erb

 <b>Name: </b><%= @project.name %><br/>
<b>Goals: </b><%= @goals.content %><br/>
<b>Goals: </b><%= @mom.content %>
<br/>
<%= debug @mom %>
  

Модели

 class Projectgoal < ActiveRecord::Base
  attr_accessible :content, :project_id
  belongs_to :projects
end

class Project < ActiveRecord::Base
  attr_accessible :name
  has_many :projectgoals
  has_many :projectstatuses
end
  

Ответ №1:

Попробуйте вместо этого это в вашем контроллере (это вернет одну запись, а не массив с одной записью):

 @mom = @project.projectgoals.order("created_at DESC").first
  

Комментарии:

1. Вздох… это был долгий день. Спасибо!