Rails 4在设置值之前检查会话变量

时间:2013-10-30 15:15:17

标签: ruby-on-rails session

我有一个基本表单,但在检测到一些错误后,我希望保留表单值。

这是我在视图中的代码:

<%= f.text_field :first_name, value: session[:unsaved_user]['first_name'] %>

每当会话变量未设置时,它将发出错误:

undefined method `[]' for nil:NilClass

我的问题是,如果在会话中设置了密钥,我该如何重写该值?

编辑:此外,我正在验证用户控制器中的数据,然后如果失败则重定向回原始注册路由。这就是为什么我使用会话将提交参数恢复到表单的原因。如果采用不同的方法,我会很感激任何建议。我对rails非常陌生。

1 个答案:

答案 0 :(得分:0)

找到它,session [:unsaved_user] ['first_name'] || ''