Ruby on rails 组消息收发邮箱
我将遵循以下教程(向下滚动到相关部分的底部): 我的消息\u helper.rb:Ruby on rails 组消息收发邮箱,ruby-on-rails,ruby,message,Ruby On Rails,Ruby,Message,我将遵循以下教程(向下滚动到相关部分的底部): 我的消息\u helper.rb: def recipients_options(chosen_recipient = nil) s = '' User.all.each do |user| s << "<option value='#{user.id}' data-img-src='#{gravatar_image_url(user.email, size: 50)}' #{'selected' if user
def recipients_options(chosen_recipient = nil)
s = ''
User.all.each do |user|
s << "<option value='#{user.id}' data-img-src='#{gravatar_image_url(user.email, size: 50)}' #{'selected' if user == chosen_recipient}>#{user.name}</option>"
end
s.html_safe
end
现在,这允许通过如下url传递一个当前收件人:。但是我希望能够为“组消息”传入多个当前用户,因此类似于:的url确保正在呈现的选择具有名称:name='to[]'这不起作用。如果您选择了多个收件人,它已经可以发送多个收件人,但我希望它们已经被选中,因为它们是在参数中发送的
<div class="form-group">
<%= label_tag 'recipients', 'Choose recipients' %>
<%= select_tag 'recipients', recipients_options(@chosen_recipient), multiple: true, class: 'form-control chosen-it' %>
</div>
def new
@chosen_recipient = User.find_by(id: params[:to].to_i) if params[:to]
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