2011-06-07 124 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