Rails

[Rails]redirect_to默认从https跳转到http的问题

Ruby On Rails

在类似 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"

[Rails]如何避免nil object错误: "nil object when you didn't expect it "

Ruby On Rails

如果习惯于理所当然地使用类似 <%= @user.group.name %> 的方式来获取一个用户的组名称,那么在找不到用户的组记录时就会出现该错误,因为@user.group是nil对象。

较为安全和简单的解决方法是在类似的语句后加上rescue nil以避免出现意外:
<%= @user.group.name rescue nil %>

不知道还有没有更简单的方法?

聚合内容