me sale el siguiente mensaje de error cuando se solicita la página principal de mi aplicación de ejemplo (siguiente capítulo de Michael Hartl Tutorial 11):No se pudo encontrar la asociación fuente (s): followed_id en el modelo de relación en Rails 3.2
"ActiveRecord::HasManyThroughSourceAssociationNotFoundError in Pages#home"
"Could not find the source association(s) :followed_id in model Relationship. Try 'has_many :followed_users, :through => :relationships, :source => '. Is it one of :follower or :followed?"
Esto es realmente extraño, ya que seguí exactamente las instrucciones del tutorial. Incluso copio pegado cada fragmento de código.
Mi modelo de usuario (extracto):
class User < ActiveRecord::Base
has_many :relationships, foreign_key: "follower_id", dependent: :destroy
has_many :followed_users, through: :relationships, source: "followed_id"
has_many :reverse_relationships, foreign_key: "followed_id", class_name: "Relationship", dependent: :destroy
has_many :followers, through: :reverse_relationships, source: :follower
Mi modelo de relación:
class Relationship < ActiveRecord::Base
attr_accessible :followed_id
belongs_to :follower, class_name: "User"
belongs_to :followed, class_name: "User"
validates :follower_id, presence: true
validates :followed_id, presence: true
end
Mi archivo de migración:
class CreateRelationships < ActiveRecord::Migration
def change
create_table :relationships do |t|
t.integer :follower_id
t.integer :followed_id
t.timestamps
end
add_index :relationships, :follower_id
add_index :relationships, :followed_id
add_index :relationships, [:follower_id, :followed_id], unique: true
end
end
He estado tratando de solucionar este problema, pero Simplemente no tengo idea de cuál podría ser el problema (copia exacta del código del tutorial).
Puede publicar su solución como respuesta y aceptarla para que la gente no pierda el tiempo leyendo la pregunta solo para descubrir que la ha solucionado. – EricM
Eso es lo que intenté primero, pero no me dejaba decir que 'los usuarios que tienen una reputación inferior no pueden responder sus propias preguntas'. De todos modos, voy a poner el Editar en la parte superior de la pregunta. Lo siento si leyó toda la pregunta solo para descubrir que ya la había resuelto. –