我想知道是否有一种方法可以直接从模型中获取标头值。
# location.rb
class Location < ActiveRecord::Base
puts request.header['key']
end
让我们假装我们将一些值存储到标头中,然后进入控制器我使用request.headers['key']
。它有效,但进入模型它不是
答案 0 :(得分:8)
正如评论所指出的那样,不,不是直接的。 request
对象仅在控制器中可用。
但是既然你必须在控制器中实例化你的模型,那么做这样的事情应该没有问题:
# some_controller.rb
def some_action
@location = Location.new(name: request.headers['key'])
...
end