Hello à tous !
Voilà je suis actuellement en train de coder un forum comme celui-ci ! sur rails et je galère sur un truc "bête".
J'ai une table messages et une table topic comme suit :
create_table :forums_messages do |t|
t.references :forum, index: true, foreign_key: true
t.references :forums_topic, index: true, foreign_key: true
t.references :user, index: true, foreign_key: true
t.text :message
t.timestamps null: false
create_table :forums_topics do |t|
t.string :title
t.string :slug, unique: true
t.integer :status, default:0 #épinglé, normal, lock
t.references :forum, index: true, foreign_key: true
t.references :user, index: true, foreign_key: true
t.text :message
t.integer :last_message_id, default: 0
t.timestamps null: false
Et je souhaite que le champ forums_topics.last_message_id soit en relation avec le message dans la table forums_messages
Pour le moment j'ai essayé toute sorte comme ceci :
class ForumsMessage < ActiveRecord::Base
belongs_to :forums_topic
belongs_to :forums_topic, :class_name => 'LastMessage', :foreign_key => 'id'
belongs_to :user
belongs_to :forum
Et Topic :
class ForumsTopic < ActiveRecord::Base
has_one :forums_message, :class_name => 'LastMessage', :foreign_key => 'last_message_id'
belongs_to :forum
belongs_to :user
has_many :forums_messages
Mais comme vous l'aurez deviné, ça ne fonctionne pas :/
Merci d'avance !
Salut, essaie ça :-)
class ForumsMessage < ActiveRecord::Base
belongs_to :forums_topic
belongs_to :user
belongs_to :forum
class ForumsTopic < ActiveRecord::Base
belongs_to :last_post, :class_name => 'ForumsMessage', :foreign_key => 'last_message_id'
belongs_to :forum
belongs_to :user
has_many :forums_messages
Ensuite, il te suffit de récuperer en faisant topic.last_post.message