gpt4 book ai didi

ruby-on-rails - ruby rails : number_field/text_field not saving values

转载 作者:搜寻专家 更新时间:2023-10-30 23:08:15 29 4
gpt4 key购买 nike

我在保存表单值时遇到了一个小问题。我制作了一个用于更新某些数据库值的表单,但遇到了一个特殊问题。

我为几个项目创建了 3 个变量,这里是表单中的前 3 个。

follow_up_logs/edit.html.erb

<div id="followuplog_attribute_update">
<p>
Baseline Target:
<%= f.number_field :baseline_target %>
</p>
<p>
Baseline Completed:
<%= f.number_field :baseline_completed %>
</p>
<p>
Baseline Reasons:
<%= f.text_field :baseline_completed %>
</p>
</div>

并且,为了向您展示模式,这里是后三个:

<div id="followuplog_attribute_update">
<p>
3 Week Target:
<%= f.number_field :week3_target %>
</p>
<p>
3 Week Completed:
<%= f.number_field :week3_completed %>
</p>
<p>
3 Week Reasons:
<%= f.text_field :week3_completed %>
</p>
</div>

这是我创建它们的方式:

添加列 :follow_up_logs, :baseline_target, :integer 添加列:follow_up_logs,:baseline_completed,:整数 add_column :follow_up_logs, :baseline_reasons, :string

add_column :follow_up_logs, :week3_target, :integer 添加列:follow_up_logs,:week3_completed,:整数 add_column :follow_up_logs, :week3_reasons, :string

问题是,只有目标变量保存。所有其余的都不保存到数据库中。因此,当我提交表单时,出于某种奇怪的原因,:baseline_target 和 :week3_target 都保存到数据库中,但是没有其他任何东西。 (好吧,实际上完成的变量保存为0,原因变量保留为nil)

这是我的 Controller 操作:

follow_up_logs_controller.rb

  def new
@follow_up_log = FollowUpLog.new
end

def create
@follow_up_log = FollowUpLog.new(params[:follow_up_log])

if @follow_up_log.save
redirect_to @follow_up_log
else
render 'new'
end
end

def update
@follow_up_log = FollowUpLog.find(params[:id])
if @follow_up_log.update_attributes(params[:follow_up_log])
flash[:success] = "Log Updated"
redirect_to @follow_up_log
else
render 'edit'
end
end

def edit
@follow_up_log = FollowUpLog.find(params[:id])
end

我一直无法弄清楚发生了什么,任何帮助将不胜感激。我觉得它一定是我一直想念的小东西 =(

编辑。拼写

最佳答案

您正在重复属性:baseline_completed

<p>
Baseline Completed:
<%= f.number_field :baseline_completed %>
</p>
<p>
Baseline Reasons:
<%= f.text_field :baseline_completed %> ## <== should be :baseline_reasons
</p>

同样适用于 :week3_completed 的其他表单

这就是为什么当您提交表单时,text_field 值会覆盖 number_field 值。您完成的变量保存为 0,原因变量保留为 nil

关于ruby-on-rails - ruby rails : number_field/text_field not saving values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23505469/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com