2010-05-02 45 views
1

我設計on Rails應用程序問題和回答紅寶石之後是持續的。飼養用戶數據validates_presence_of

在用戶登錄時,你可以看到其他用戶提出的問題清單。我在/answers/new?question_id=someNumber的每個問題旁都有一個鏈接。鏈接到顯示問題(提醒「回覆者」)的問題頁面上方,提交答案。爲了顯示這個問題,我稱之爲@question = Question.find_by_id(params[:question_id])和參考@question在Haml的視圖文件:

Question details 
%h2 
    #{h @question.title} 
#{h @question.description} 
%br/ 
%br/ 
%h1 
    Your answer 
- form_for(@answer) do |f| 
    = f.error_messages 
    %p 
    = f.label :description, "Enter your response here" 
    %br 
    = f.text_area :description 
    = f.hidden_field "question", :value => @question.id 
    %p 
    = f.submit 'Answer' 

的問題是,如果我在Answer.rb檢查validates_presence_of :description,然後我失去question_id如果用戶沒有輸入任何東西當頁面重新加載時,進入description字段,所以我不能重新顯示用戶正在回答的問題。我應該如何解決這個問題?

是否有存儲用戶正試圖回答這樣我可以(在未來的其他意見,也許)顯示它的形式上面輸入新回答這個問題的更好的辦法?

如果您需要看到更多的代碼,請讓我知道。

回答

1

嗯,不@question的HTE值保持不變?你知道,它是控制器的成員字段,所以只要你不改變它,我想它應該保持不變。如果不是這樣,請考慮將問題ID存儲在會話中。

+0

有沒有拇指,我應該在會話存儲的規則,我不應該?我總是猶豫不決,因爲我不知道web開發實踐需要什麼。 – user5243421 2010-05-02 11:12:25

+0

這是另一個問題,我個人沒有足夠的經驗與網站開發給拇指規則,但我想如果你問你得到一些很好的答案:) – 2010-05-02 11:41:18