停止当前密码不能是空白问题

时间:2014-06-11 20:08:11

标签: jquery ruby-on-rails ruby ruby-on-rails-4

我正在使用Rails 4.我正在尝试向控制器发送一个隐藏字段,如果隐藏字段设置为true,那么我想删除一个属性。现在,我的表格看起来像:

<input name="store[_destroy]" type="hidden" value="false" />
<input type='text' name="store[name]">

我有一些jQuery,如果单击一个按钮,则将隐藏字段设置为true。所以基本上,如果有人点击“删除商店名称”按钮,我想发送值为true的隐藏字段,并删除商店[名称]以插入数据库。

我的控制器现在看起来像:

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

1 个答案:

答案 0 :(得分:1)

点击&#34;删除商店名称&#34;我会使用jQuery来禁用输入。按钮:

f.input :name, id: :store_name

link_to 'Remove Store Name', '#', onclick: "$('form input#store_name').prop('disabled', !$('form input#store_name').prop('disabled'));return false;"

版本较长:

f.input :name, id: :store_name

link_to 'Remove Store Name', '#', onclick: 'handle_remove_store_name(); return false;'

# javascript
window.handle_remove_store_name = function() {
  var current_disabled_state = $('form input#store_name').prop('disabled');
  $('form input#store_name').prop('disabled', !current_disable_state);
}

禁用的输入不会包含在通过表单提交的参数中。