我对ruby和rails很新。
在RoR3中,控制器继承自ActionController::Base
request.env["SERVER_ADDR"]
所以request是Base类中的一个方法(在ActionController模块中)?
那么env
和["SERVER_ADDR"]
是什么?
谢谢!
答案 0 :(得分:1)
request.env["SERVER_ADDR"]
也可以写为request().env()["SERVER_ADDR"]
。因此,env
是一个在request()
返回的对象上调用而不带参数的方法,然后在参数[]
返回的对象上调用"SERVER_ADDR"
。
答案 1 :(得分:1)
request.env["SERVER_ADDR"]
request
一个。取消引用局部变量request
或
湾向隐式接收器:request
,
self
env
正在发送消息:env
,其中没有参数通过解引用request
或为响应将消息:request
发送到{{1而返回的对象而获得的对象在第2步中,self
正在向返回的对象发送带有参数["SERVER_ADDR"]
的消息:[]
,以响应在步骤2中发送消息"SERVER_ADDR"
和:env
是字符串文字。您可以更明确地将其写为:
"SERVER_ADDR"
或者甚至更明确这样:
self.request.env.[]("SERVER_ADDR")
甚至全力以赴:
self.request().env().[]("SERVER_ADDR")