私は自分のアプリケーションにメッセージング機能を実装していますが、receiver_id
を保持するのは難しいです。receiver_idは保存していません - レールメッセージ
ユーザモデル:
class User < ActiveRecord::Base
has_many :tickets
has_many :sent_messages, :class_name => 'Message', :foreign_key => 'sender_id', :dependent => :destroy
has_many :received_messages, :class_name => 'Message', :foreign_key => 'receiver_id', :dependent => :destroy
end
メッセージモデル:
class Message < ActiveRecord::Base
belongs_to :sender, :class_name => 'User', :foreign_key => 'sender_id'
belongs_to :receiver, :class_name => 'User', :foreign_key => 'receiver_id'
end
メッセージコントローラ:
def new
@user = User.find(params[:user_id])
@message = Message.new(
:receiver => @user)
end
def create
@message = current_user.sent_messages.create(params[:message])
redirect_to(tickets_path, :message => 'Message has been sent.')
end
receiver_id
デシベルにはヌルのままです。
ありがとうございました!
EDITは
ルートはここに質問 - ticket has users that can send messages - rails messaging
:あなたは
form_for
を使用していると仮定すると、それはそうようなものになるだろう。 –私は別の質問でルートについて質問します。 –