最近Mailboxer
、Rails アプリに追加したところ、すべてがうまく機能しています。
ただし、ユーザーのページの「メッセージを送信」ボタンをクリックして新しいメッセージを作成し、メッセージを作成するためのフォームがロードされたときに、受信者が (前のページのユーザーで) 既に入力されているようにしたいと考えています。
問題の特定のフィールド:
<%= select_tag 'recipients', recipients_options, multiple: true, class: 'new_message_recipients_field' %>
参考までにrecipients_options
、このシナリオではおそらく役に立たないでしょうが、これはすべてのユーザーのリストです。これは主に、ユーザー ページ以外の場所からメッセージを作成するときに使用し、メッセージで定義されています。ヘルパー
def recipients_options
s = ''
User.all.each do |user|
s << "<option value='#{user.id}'>#{user.first_name} #{user.last_name}</option>"
end
s.html_safe
end
そして私のmessages_controller.rb
:
def new
end
def create
recipients = User.where(id: params['recipients'])
conversation = current_user.send_message(recipients, params[:message][:body], params[:message][:subject]).conversation
flash[:success] = "Message has been sent!"
redirect_to conversation_path(conversation)
end
各ユーザーページに新規メッセージフォームへのリンクが既にあります...
<%= link_to 'Message me', new_message_path %>
しかし、後続のフォームで受信者を事前に入力する方法がわかりません。
これについてどうすればいいですか?