
在类似 https://myapp.com/controller/action 的controler中使用redirect_to跳转到当前app某个controller时,默认总是跳转到: http://myapp.com,解决办法是在app/controllers/application.rb中重写default_url_options方法:
def default_url_options(options)
{ :protocol => 'https://' }
end
或者在apache的vhosts配置文件中修改如下设置:
RequestHeader set X_FORWARDED_PROTO "https"

如果习惯于理所当然地使用类似 <%= @user.group.name %> 的方式来获取一个用户的组名称,那么在找不到用户的组记录时就会出现该错误,因为@user.group是nil对象。
较为安全和简单的解决方法是在类似的语句后加上rescue nil以避免出现意外:
<%= @user.group.name rescue nil %>
不知道还有没有更简单的方法?
最新评论
16 小时 14 分钟 前
6 周 19 小时 前
6 周 6 天 前
7 周 4 天 前
8 周 3 天 前
8 周 4 天 前
8 周 4 天 前
8 周 4 天 前
8 周 4 天 前
9 周 1 天 前