轨道形式的自定义字段

时间:2011-06-07 16:48:05

标签: ruby-on-rails ruby-on-rails-3

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

<%= f.textfield :auto_complete_list %>

从/app/models/institution.rb获取数据

  def auto_complete_list
    return self.county.city.name + ' '+ self.county.name
  end

但是我不希望在按下按钮时提交。 我目前的解决方案是从params [:institution]删除它 是否有更清晰的方法从提交参数中删除只读属性?

3 个答案:

答案 0 :(得分:3)

虽然我同意daekrist的回答,但您可以通过使用以下的低级表单辅助方法轻松地将其保留在params[: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]

答案 1 :(得分:1)

我想,更清洁的方法是永远不要在你的表格中放置这样的东西:)

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

答案 2 :(得分:1)

也许你想尝试令牌字段,这里有很好的解释http://railscasts.com/episodes/258-token-fields