一個快速警告:我對Rails很新穎,而且我的知識有些過時。我知道如何做某些事情,但我缺乏對他們總是工作的重要理解。如何使用Form_For更新模型中的哈希屬性
我目前有一個用戶模型,其中有一堆信息,如地址,電子郵件等。另外,它還有一個名爲可見的散列。該散列中的鍵是每條信息,並且該值對於用戶是否希望該信息公開可見是真或假。雖然我不確定這是否是最好的方法,但除了爲每一位信息製作一整套布爾變量之外,我想不出任何其他方式。最後,我序列化:可見的存儲在數據庫中
我想在我的編輯視圖有一個複選框旁邊的每個字段的信息代表可見屬性。在閱讀了與本主題相關的大量其他帖子並嘗試了衆多代碼變體之後,我總是會遇到某種錯誤。看起來最直觀的正確給我的代碼如下:
<%= form_for(@user, :id => "form-info-personal") do |f| %>
...
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.check_box :visible[:name] %>
,但我得到一個錯誤信息說,一個符號不能被解析成一個整數。我不確定這個解析甚至試圖發生在哪裏,除非它的查看:作爲一個數組可見並且試圖使用:name作爲索引。
如果這個問題微不足道/看似無意義/缺乏重要信息等,我很抱歉。任何提示,建議,鏈接,或者你會非常感激的東西,即使他們沿着「你做這個根本錯誤的事情,回去做這個事情」。
-Nick
遠離序列化了。這是你得到的第一個問題,但由於序列化你將會遇到更多問題。添加特定列完全沒有錯。 – wanghq 2012-02-21 03:06:46
@wanghq:序列化沒有任何問題(如果你做對了)。 – 2012-02-21 03:29:00