【发布时间】:2014-06-11 20:08:11
【问题描述】:
我正在使用 Rails 4。我正在尝试向我的控制器发送一个隐藏字段,如果隐藏字段设置为 true,那么我想删除一个属性。现在,我的表单看起来像:
<input name="store[_destroy]" type="hidden" value="false" />
<input type='text' name="store[name]">
如果单击按钮,我有一些 jQuery 将隐藏字段设置为 true。所以基本上,如果有人点击“删除商店名称”按钮,我想发送值为 true 的隐藏字段,并从插入数据库中删除 store[name]。
我的控制器现在看起来像:
def create
@store = Store.new(store_params)
if params[:_destroy] == true
params.delete :name
end
respond_to do |format|
if @store.save
...
但是我得到了一个unknown attribute: _destroy 与我当前的代码。
【问题讨论】:
-
这个
params[:store][:_destroy]的目的是能够销毁记录,而不是清空记录的另一个属性。在提交表单之前,使用 jQuery 清空/禁用名称的文本输入。 -
@MrYoshiji,啊,我明白了,这更有意义!
标签: jquery ruby-on-rails ruby ruby-on-rails-4