Как можно настроить поле получателя по умолчанию для определенных пользователей? - PullRequest
0 голосов
/ 24 января 2019

ВОПРОС: Как можно автоматически заполнить поле получателя именем пользователя, например, используя гем MailBoxer?

У меня есть учетная запись администратора пользователя, и я хочу предварительно заполнить поле получателя, когда я нажимаю на страницу профиля пользователя (не администратора) в представлении show.html.erb.

В настоящее время используемый код отображает ВСЕХ пользователей, использующих платформу, тогда как я хочу, чтобы эта конкретная форма отображала только получателя.

Я использую гем почтового ящика, и у меня уже есть тема и поле сообщения, предварительно заполненные и работающие.

Код для формы, который находится в представлении show.html.erb:

<%= form_for :conversation, url: :conversations, html: { class: "" } do |f| %>

  <div class="form-group">
    <%= f.label :recipients %>
    <%= f.select(:recipients, User.all.collect {|p| [ p.username, p.id ] }, {}, { multiple: true , class: "chosen-select form-control", :data => {:placeholder => "Please type in a username to search for a user"}})%>
  </div>

  <div class="form-group">
    <%= f.label :subject %>
    <%= f.text_field :subject, placeholder: "Subject", class: "form-control",
        value: "Hi #{@user.username}! %>
  </div>

  <div class="form-group">
    <%= f.label :message %>
    <%= f.text_area :body, class: 'form-control',placeholder: "Type your message here", rows: 4,
        value:

"Hi #{@user.username}!

I am mailing you to tell you that [INSERT ITEM NAME] is in stock.

Please come down to receive the item. %>
  </div>

  <%= f.submit "Send Message" %>

<% end %>

1 Ответ

0 голосов
/ 24 января 2019

вы можете использовать атрибут selected: selected => @ user.id (на основе вашего кода выше у вас есть @user)

  <div class="form-group">
    <%= f.label :recipients %>
    <%= f.select(:recipients, User.all.collect {|p| [ p.username, p.id ] }, {},  , { :selected => @user.id, multiple: true , class: "chosen-select form-control", :data => {:placeholder => "Please type in a username to search for a user"}})%>
  </div>
...