在我的/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]删除它 是否有更清晰的方法从提交参数中删除只读属性?
答案 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