Ruby on rails Rails 4中未保存到db的值
我正在尝试添加表单以在rails4应用程序中创建记录。不幸的是,当我提交记录时,一个新记录被添加到数据库中,但所有列都是空的。我运行了rails控制台,并通过散列(location.new({…}))添加了一个位置记录,这非常有效,因此我知道控制器和模型可以工作 您能看到该视图或该代码的任何其他部分存在任何问题吗?我几个小时来一直想找出这个问题,但我被卡住了。这是非常令人沮丧的-请帮助 locations/new.html.hamlRuby on rails Rails 4中未保存到db的值,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我正在尝试添加表单以在rails4应用程序中创建记录。不幸的是,当我提交记录时,一个新记录被添加到数据库中,但所有列都是空的。我运行了rails控制台,并通过散列(location.new({…}))添加了一个位置记录,这非常有效,因此我知道控制器和模型可以工作 您能看到该视图或该代码的任何其他部分存在任何问题吗?我几个小时来一直想找出这个问题,但我被卡住了。这是非常令人沮丧的-请帮助 locations/new.html.haml render 'form' = simple_form_fo
render 'form'
= simple_form_for (@location) do |f|
.row
.large-6.columns
= f.input :name
.large-6.columns
= f.input :address
.large-6.columns
Location Name
.row
.large-6.columns
=f.input :state
.row
= f.button :submit
添加记录的链接
= link_to 'Add Location', new_location_path
路线
resources :locations
\u form.html.haml
render 'form'
= simple_form_for (@location) do |f|
.row
.large-6.columns
= f.input :name
.large-6.columns
= f.input :address
.large-6.columns
Location Name
.row
.large-6.columns
=f.input :state
.row
= f.button :submit
位置\u controller.rb
def new
@location = Location.new
end
def create
@location = Location.new(subject_params)
if @location.save
redirect_to @location
else
render 'new'
end
end
private
def subject_params
params.permit(:name, :address, :state)
end
将
LocationsController
中的subject\u params
方法更新为:
def subject_params
params.require(:location).permit(:name, :address, :state)
end
在rails4
中,引入了强参数。所以,您需要明确地允许要在数据库中插入/更新的属性
在参数
散列中,:名称
,:地址
和:状态
将存储为:位置
键的键值对
您错过了对params hash的require(:location)
调用,这就是您的记录没有使用传递的属性保存的原因 将位置控制器中的主题参数
方法更新为:
def subject_params
params.require(:location).permit(:name, :address, :state)
end
在rails4
中,引入了强参数。所以,您需要明确地允许要在数据库中插入/更新的属性
在参数
散列中,:名称
,:地址
和:状态
将存储为:位置
键的键值对
您错过了对params hash的require(:location)
调用,这就是您的记录没有使用传递的属性保存的原因 将位置控制器中的主题参数
方法更新为:
def subject_params
params.require(:location).permit(:name, :address, :state)
end
在rails4
中,引入了强参数。所以,您需要明确地允许要在数据库中插入/更新的属性
在参数
散列中,:名称
,:地址
和:状态
将存储为:位置
键的键值对
您错过了对params hash的require(:location)
调用,这就是您的记录没有使用传递的属性保存的原因 将位置控制器中的主题参数
方法更新为:
def subject_params
params.require(:location).permit(:name, :address, :state)
end
在rails4
中,引入了强参数。所以,您需要明确地允许要在数据库中插入/更新的属性
在参数
散列中,:名称
,:地址
和:状态
将存储为:位置
键的键值对
您错过了对params hash的require(:location)
调用,这就是您的记录没有使用传递的属性保存的原因 当你在线的时候,我从来没有机会回答一个问题(p:)这也发生在我身上。这次我很幸运,没问题,你应得的!科蒂-你上网时回答问题也有困难?!lol:)非常好的帮助-非常感谢!如果堆栈溢出允许,我将在4分钟内接受此答案。你居然能在几个小时内忽视一些事情,真是太神奇了!再次感谢你!!当你在线的时候,我从来没有机会回答一个问题(P:)这也发生在我身上。这次我很幸运,没问题,你应得的!科蒂-你上网时回答问题也有困难?!lol:)非常好的帮助-非常感谢!如果堆栈溢出允许,我将在4分钟内接受此答案。你居然能在几个小时内忽视一些事情,真是太神奇了!再次感谢你!!当你在线的时候,我从来没有机会回答一个问题(P:)这也发生在我身上。这次我很幸运,没问题,你应得的!科蒂-你上网时回答问题也有困难?!lol:)非常好的帮助-非常感谢!如果堆栈溢出允许,我将在4分钟内接受此答案。你居然能在几个小时内忽视一些事情,真是太神奇了!再次感谢你!!当你在线的时候,我从来没有机会回答一个问题(P:)这也发生在我身上。这次我很幸运,没问题,你应得的!科蒂-你上网时回答问题也有困难?!lol:)非常好的帮助-非常感谢!如果堆栈溢出允许,我将在4分钟内接受此答案。你居然能在几个小时内忽视一些事情,真是太神奇了!再次感谢你!!