2011-06-07 122 views
0

在我/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

虽然我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]

+0

你知道了,先生。 – nurettin 2011-06-08 05:16:34

1

我想,一个更简洁的方法将是从来没有把这样的事情在你的形式:)

如果你想自动完成,这将是更好地使用一些JS/jQuery插件并将其连接到外地您需要。

+0

我使用jQuery自动完成,但事情变得复杂。我不想在文本框中获取值,而是将其置于隐藏字段中的与其关联的ID。但我仍然必须在文本框中显示文本,这是表单的一部分。现在 ,我把它变成另一个PARAMS散列变量,一切是一个非常有趣的文章精细:) – nurettin 2011-06-08 05:14:08