Только один параметр сохраняет в базу данных из 2 - PullRequest
0 голосов
/ 20 января 2019

По какой-то причине только один параметр (Статус) в моем действии обновления сохраняет в базу данных после сохранения формы.Мой другой параметр (Примечания) показывает только как нулевое значение, независимо от того, что я ввожу в поле формы, что странно, поскольку логика для них обоих абсолютно одинакова.

Модель AgentActivity имеет вложенные атрибуты в представленияхмодель и, как таковая, я ожидаю, что она сохранит атрибуты при обновлении представления, но, похоже, этого не происходит.

Метод показа контроллера отправки

  def show
    @submission.agent_activities.build
  end

Метод обновления контроллера отправки

 def update
   respond_to do |format|
     if @submission.update(submission_params)
       AgentActivity.create(agent_id: current_agent.id, submission_id: @submission.id, Notes: agent_activity_params[:Notes], Status: agent_activity_params[:Status] )


       format.html { redirect_to @submission, notice: 'Submission was successfully updated.' }
       format.json { render :show, status: :ok, location: @submission }
     else
       format.html { render :edit }
       format.json { render json: @submission.errors, status: :unprocessable_entity }
     end
   end
 end

Форма подачи

<%= form_for @submission do |f| %>
  <%= f.fields_for :agent_activity do |a|%>
    <td>
      <div class="field">
        <%= select_tag(:Status, options_for_select([['In Progress', 1], ['Not Interested', 2],['Viewing Arranged', 3]])) %>
      </div>
    </td>
    <td>
      <div class="field">
        <%= a.text_field :Notes %>
      </div>
    </td>
    <td>
      <div class="actions">
        <%= f.submit %>
      </div>
    </td>
  <% end %>
<% end %>

1 Ответ

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

ваш select_tag не использует переменную формы (| a |), поэтому вы можете получить прямой доступ через agent_activity_params [: Status], в то время как ваши заметки используют переменную field_for a.text_field, и вы не можете получить доступ из agent_activity_params [: Notes],если вы хотите сделать то же самое, что и статус, вы можете использовать

<div class="field">
  <%= text_field_tag :Notes %>
</div>
...