我正在设计一个问答Ruby on Rails应用程序。
用户登录后,您可以看到其他用户提出的问题列表。我在/answers/new?question_id=someNumber
的每个问题旁边都有一个链接。这链接到一个页面,该页面显示问题(提醒“回答者”)以上提交答案的标准表格。为了显示问题,我在Haml视图文件中调用@question = Question.find_by_id(params[:question_id])
并引用@question
:
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
,所以我无法重新显示用户正在回答的问题。我该如何解决这个问题?
有没有更好的方法来存储用户试图回答的问题,以便我可以在表单上方显示它以输入新的答案(可能在将来的其他视图中)?
如果您需要查看更多代码,请告知我们。
答案 0 :(得分:1)