2011-03-30 24 views
0

我有一個text_area名爲我的表格answer_choices多數民衆贊成用於輸入答案(由換行符分隔):的Rails:型號方法問題與節省

Some answer 
Another answer 
Yet another 

因此,當用戶提交表單時,我解析answer_choices出到使用answer_choices.split(/\r\n/)

然後,對於輸入到數據庫中的各個答案,當他們編輯的形式,我重新組裝使用這種方法的那些個體的答案:

我在米以下的方法ŸQuestion型號:

def answer_choices 
    string = '' 

    answers.each do |answer| 
    string += "#{answer.text.to_s}\n" 
    end 

    string.strip 
end 

,讓我只是做<%= f.text_area :answer_choices %>在我看來,我得到由換行符分隔的答案。大。

問題是,當我再次提交表單(更新記錄)時,那個小小的answer_choices.split(/\r\n/)位似乎在調用該自定義方法,而不是從表單字段獲取任何新數據,因此只是重新添加相同的來自之前的數據。

那麼如何讓我的自定義方法的表單輸出?

回答

0

避免調用自定義的方法,你應該使用的屬性哈希:

self.attributes['answer_choices'].split(/\r\n/) 
+0

'self.attributes [ 'answer_choices']'是空的。我在模型中設置了'attr_accessor:answer_choices',但'self.inspect'不在任何地方顯示'answer_choices'。 – Shpigford 2011-03-31 18:26:22