У меня есть форма, используемая для создания новой записи модели сообщения.
Однако маршрут для ее создания был настроен так:
match 'messages/:sender_id/to/:receiver_id' => "messages#new", :as => :send_message
Я хочу изновое действие для передачи значений для: sender_id и: receiver_id, чтобы я мог назначить его для связанной модели, называемой UserHasMessages.
Эту модель необходимо создавать всякий раз, когда создается новая записьfor Message создан.
Но я не могу использовать скрытые поля, потому что: sender_id НЕ является атрибутом Message.это атрибут UserHasMessages.
Спасибо.
controller / messages_controller.rb
def create
15 @message = Message.new(params[:message])
16 if @message.save
17 @user_has_message = UserHasMessages.new
18 @user_has_message.user_id = params[:sender_id]
19 @user_has_message.message_id = @message.id
20 @user_has_message.is_sender = 1
21 @user_has_message.save
22
23 @user_has_message = UserHasMessages.new
24 @user_has_message.user_id = params[:receiver_id]
25 @user_has_message.message_id = @message.id
26 @user_has_message.is_sender = 0
27 @user_has_message.save
view / messages / _form.
<%= form_for @message do |f| %>
2 <%= f.error_messages %>
3 <p>
4 <%= f.label :subject %><br />
5 <%= f.text_field :subject %>
6 </p>
7 <p>
8 <%= f.label :body %><br />
9 <%= f.text_area :body %>
10 </p>
11 <p>
12 <%= f.label :contact_id %><br />
13 <%= f.text_field :contact_id %>
14 </p>
15 <p>
16 <%= f.label :company_id %><br />
17 <%= f.text_field :company_id %>
18 </p>
19 <p>
20
21 <%= hidden_field_tag :sender_id, :value => params[:sender_id] %>
22 <%= hidden_field_tag :receiver_id, :value => params[:receiver_id] %>
23 </p>
24
25 <p><%= f.submit %></p>
26 <% end %>
message_controller / new
10 def new
11 @message = Message.new
12 end