2 个参数中只有一个参数保存到数据库
Only one param is saving to database out of 2
出于某种原因,在我保存表单后,我的更新操作中只有一个参数(状态)保存到数据库中。无论我在表单字段中输入什么,我的另一个参数(注释)只显示为 nil 值,这很奇怪,因为它们的逻辑完全相同。
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 %>
你的 select_tag 没有使用表单变量 (|a|) 这就是为什么你可以直接使用 agent_activity_params[:Status] 访问的原因,同时你的笔记正在使用 field_for 变量 a.text_field,并且你不能从 agent_activity_params[:Notes] 访问,如果你想做与状态相同的事情,你可以使用
<div class="field">
<%= text_field_tag :Notes %>
</div>
出于某种原因,在我保存表单后,我的更新操作中只有一个参数(状态)保存到数据库中。无论我在表单字段中输入什么,我的另一个参数(注释)只显示为 nil 值,这很奇怪,因为它们的逻辑完全相同。
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 %>
你的 select_tag 没有使用表单变量 (|a|) 这就是为什么你可以直接使用 agent_activity_params[:Status] 访问的原因,同时你的笔记正在使用 field_for 变量 a.text_field,并且你不能从 agent_activity_params[:Notes] 访问,如果你想做与状态相同的事情,你可以使用
<div class="field">
<%= text_field_tag :Notes %>
</div>