Esta es probablemente una pregunta tonta, pero parece que no puedo encontrar una buena respuesta. Quiero saber la mejor manera de referirme al modelo al que pertenece un objeto.Rieles: en referencia al modelo, el objeto pertenece a
Por ejemplo:
class User < ActiveRecord::Base
has_many :posts
end
class Post < ActiveRecord::Base
belongs_to :users
end
Por lo tanto, para obtener los mensajes del usuario, que puede utilizar user.posts, pero para obtener el usuario del correo, no puedo hacer a la inversa: post.user
Si Agregué un método de "usuario" al modelo de publicación, funciona, pero no parece ser la mejor manera.
class Post < ActiveRecord::Base
belongs_to :users
def user
User.find(self.user_id)
end
end
Si nos fijamos en esta entrada del blog http://www.fortytwo.gr/blog/18/9-Essential-Rails-Tips como ejemplo, se puede ver que el autor utiliza post.user.username, que no funciona fuera de la caja, así como: include => [: usuario], que tampoco funciona, incluso con el método "usuario" en el modelo de publicación.
Sé que esto es rudimentario, así que gracias por su paciencia. Solo quiero saber la mejor manera de lograr esta relación.
Mi principal objetivo es escribir "encuentra" anidadas utilizando incluye, que se refieren al usuario de este modo:
post = Post.find (: todos,: include => [: Usuario])
Cuando pruebo esto, obtengo "ActiveRecord :: ConfigurationError: no se encontró la asociación llamada 'usuario'; ¿quizás lo deletreaste mal?"
Muchas gracias.
Gracias. Esta es oficialmente la pregunta más tonta que he hecho. No puedo creer que no haya visto eso. Me pregunto por qué incluso funciona si lo haces plural ... – Shagymoe