Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rails表单中的自定义字段_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails rails表单中的自定义字段

Ruby on rails rails表单中的自定义字段,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,在my/app/views/institution/_form.html.erb中,我有 <%= f.textfield :auto_complete_list %> 但我不想在按下按钮时提交。 我当前的解决方案是从params[:institution]中删除它 有没有更干净的方法可以从提交参数中删除只读属性?我想,更干净的方法是永远不要在表单中添加这样的内容:) 如果您想要自动完成,最好使用一些js/jquery插件并将其附加到您需要的字段。我想,一个更干净的方法是永远不要在表

在my/app/views/institution/_form.html.erb中,我有

<%= f.textfield :auto_complete_list %>
但我不想在按下按钮时提交。 我当前的解决方案是从params[:institution]中删除它
有没有更干净的方法可以从提交参数中删除只读属性?

我想,更干净的方法是永远不要在表单中添加这样的内容:)


如果您想要自动完成,最好使用一些js/jquery插件并将其附加到您需要的字段。

我想,一个更干净的方法是永远不要在表单中放置类似的内容:)


如果您想要自动完成,最好使用一些js/jquery插件并将其附加到您需要的字段。

也许您想要尝试令牌字段,这里有很好的解释

也许您想要尝试令牌字段,这里有很好的解释

虽然我同意daekrist的回答,但您可以轻松地将其排除在
参数之外[:institution]
通过使用较低级别的表单助手方法:

<%= form_for @institution do |f| %>
  ...
  <%= text_field_tag 'auto_complete_list', @institution.auto_complete_list %>
  ...
<% end %>

...
...

因此,现在提交表单时,它将位于
params[:auto_complete_list]
中,而不是
params[:institution][:auto_complete_list]

虽然我同意daekrist的回答,但您可以通过使用以下较低级别的表单帮助器方法轻松地将其排除在
params[:institution]
之外:

<%= form_for @institution do |f| %>
  ...
  <%= text_field_tag 'auto_complete_list', @institution.auto_complete_list %>
  ...
<% end %>

...
...

因此,现在提交表单时,它将位于
params[:auto_complete\u list]
中,而不是
params[:institution][:auto_complete\u list]

我正在使用jquery autocomplete,但事情变得复杂起来。我不想在textbox中获取值,而是将与之关联的ID放入一个隐藏字段中。但我仍然必须在textbox中显示文本,这是表单的一部分。现在,我将其放入另一个params哈希变量中,所有内容都已更改很好:)我正在使用jquery autocomplete,但事情变得复杂了。我不想在textbox中获取值,但我将与之关联的ID放入一个隐藏字段中。但我仍然必须在textbox中显示文本,这是表单的一部分。现在我将其放入另一个params哈希变量中,一切都很好:)