2010-05-02 41 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