首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在validates_presence_of之后保持用户数据的持久性

在validates_presence_of之后保持用户数据的持久性
EN

Stack Overflow用户
提问于 2010-05-02 18:40:29
回答 1查看 87关注 0票数 1

我正在设计一个问答式的Ruby on Rails应用程序。

用户登录后,您可以看到其他用户提出的问题列表。我在每个问题旁边都有一个指向/answers/new?question_id=someNumber的链接。它链接到一个页面,该页面在提交答案的标准表单上方显示问题(提醒“回答者”)。为了显示问题,我调用@question = Question.find_by_id(params[:question_id])并在Haml视图文件中引用@question

代码语言:javascript
运行
复制
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,所以我不能重新显示用户回答的问题。我该如何解决这个问题呢?

有没有更好的方法来存储用户试图回答的问题,这样我就可以在表单上方显示它,以便输入新的答案(将来可能还会在其他视图中显示)?

如果您需要查看更多代码,请让我知道。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-05-02 18:59:56

嗯,@question的值不是一直都一样吗?你知道,它是控制器的成员字段,所以只要你不改变它,我想它应该保持不变。如果这不是真的,请考虑将问题id存储在会话中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2753170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档