`
clark1231
  • 浏览: 255436 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Rails中获取url信息

阅读更多

Rails中获取url信息的一些方法

如本机我测试域名为test.blog.zool.it:3000

打开的uri为 /post/Hello-World

fullurl为 http://test.blog.zool.it:3000/post/Hello-world

则rails的路由生成一下几个方法

 

domain(tld_length = 1)

取得域名

request.domain #=>  zool.it

request.domain(2) #=> blog.zool.it

 

subdomain(tld_length = 1)

subdomains(tld_length = 1)

取得子域名

request.subdomain #=>  "test.blog"

request.subdomain(2) #=> "test"

request.subdomain #=>  ["test", "blog"]

request.subdomain(2) #=> ["test"]

 

host()

取得主机名

request.host #=> "test.blog.zool.it"

 

host_with_port()

取得带端口的主机名

request.host_with_port #=> "test.blog.zool.it:3000"

 

raw_host_with_port()

代理服务器的主机名和端口

request.raw_host_with_port #=> "test.blog.zool.it:3000"

 

port()

取得由raw_host_with_port()获得的端口数值

request.port #=> 3000

 

port_string()

取得raw_host_with_port()获得的端口文本字符串

request.port_string #=> ":3000"

 

protocol()

取得当前使用网络协议

request.protocol #=> "http://"

 

scheme()

取得网络协议

request.scheme #=> "http"

 

request_uri()

request请求的uri地址

request.request_uri #=> "/posts/Hello-World"

 

server_port()

取得由env[‘SERVER_PORT’]返回的端口值

request.server_port #=> "3000"

 

ssl?()

当前是否在是用https加密协议

request.ssl?() #=> false

 

standard_port()

返回网络协议标准端口(http为80, https为443)

request.standard_port #=> 80

 

standard_port?()

判断当前协议是否是标准端口

request.standard_port? #=> false

 

url()

取得当前requset完整url

request.url #=> "http://test.blog.zool.it:3000/posts/Hello-World"

分享到:
评论

相关推荐

    Rails101_by_rails4.0

    此外,书中还介绍了一些Rails中的高级概念,如Strong Parameters(强参数),它在Rails 4.0版本中引入,用于解决之前版本中的参数篡改问题,从而帮助开发者安全地处理外部提交的数据。 通过一系列的教学内容,包括...

    Ruby-Annotate注释Rails类模式和路由信息

    **Ruby-Annotate** 是一个Ruby gem,它的主要功能是分析你的Rails应用程序,获取数据库模式信息,并在你的模型文件顶部添加注释。这些注释包含关于模型字段的数据类型、长度、默认值以及是否允许为空等信息。这极大...

    关于rails学习中分页的示例

    防止恶意用户通过修改URL中的分页参数来访问未授权的数据,确保在控制器中对`params[:page]`进行验证。 以上就是Rails中使用`Kaminari`实现分页的基本流程和注意事项。理解并熟练掌握分页技巧,能够帮助你在开发...

    敏捷Rails中文教程

    - **起源与发展**:Rails(Ruby on Rails)是由David Heinemeier Hansson创建的一种开源Web应用程序框架,自2004年发布以来迅速获得了全球开发者的关注与支持。Rails的设计理念强调简洁性和生产力,主张“约定优于...

    Rails中应用Ext.tree:以中国的省市地区三级联动选择为例

    在Ruby on Rails(Rails)框架中,开发人员经常需要实现各种用户交互功能,例如三级联动选择,这在处理如中国省市区这样的地理数据时尤其常见。这篇博客文章“Rails中应用Ext.tree:以中国的省市地区三级联动选择为...

    rails-api-4.0.0

    在Rails 4.0.0中,引入了专门针对API开发的Rails API模式,为开发者提供了构建高效、可维护的RESTful API的工具。 一、Rails API模式的核心特点: 1. 轻量级:Rails API模式去掉了不必要的视图层,使得应用更加轻便...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    - **效果**:这将在应用中增加一个新的URL路径,指向指定控制器的动作。 #### 七、渲染视图 - **方法**:在控制器中使用`render`方法来显示特定的视图文件。 - **视图文件**:通常使用ERB模板语言来编写视图文件,...

    RailsSpace

    ### RailsSpace:构建社交网络网站 #### 一、引言 RailsSpace是一本专注于通过实践项目教授Ruby on Rails开发的书籍。本书通过构建一个面向Ruby...无论是新手还是有经验的开发者,都能从本书中获得宝贵的实践经验。

    Rails上的API:使用Rails构建REST APIAPIs on Rails: Building REST APIs with Rails

    在本篇内容中,我们将深入探讨如何利用Ruby on Rails(简称Rails)这一强大的Web应用程序框架来构建可伸缩且易于维护的RESTful API。Rails以其简洁优雅的语法、高效的开发速度以及良好的社区支持而闻名,这使得它...

    rails-1.0.0

    5. **路由系统**:Rails的路由系统将URL映射到特定的控制器方法,使得URL设计更加灵活且语义化。 6. **RESTful设计**:Rails鼓励使用REST(Representational State Transfer)架构风格,通过HTTP动词(GET、POST、...

    Rails API 文档

    Rails API文档是Ruby on Rails框架的核心参考资料,专为开发者提供详细的API接口信息和技术指南。Rails是基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,极大地简化了Web开发过程...

    ruby on rails 3 tutorial.pdf

    本书还会详细讲解Rails的路由系统,它是应用中URL和控制器动作之间的映射,确保用户请求能够正确地到达目的地。此外,你还将接触到Rails的测试驱动开发(TDD)理念,学习如何编写测试用例,确保代码的质量和稳定性。...

    RestFul_Rails_Dev_pdf_v_0.1.zip

    本资料“RestFul_Rails_Dev_pdf_v_0.1.zip”包含了《RESTful Rails Development》的翻译版,将深入探讨如何在Rails中实现RESTful的设计模式。 首先,RESTful设计的核心概念是资源(Resources)。在Rails中,资源...

    中文版的Ruby On Rails实践(PDF)

    这种设计理念极大地提高了开发者的生产力,使得Rails在短短几年内获得了广泛的认可。 在Rails中,Model代表数据模型,负责处理数据库交互;View是用户界面,展示数据给用户;Controller作为两者之间的桥梁,负责...

    RESTful Rails Development

    例如,`/users/1` 可能代表获取用户 ID 为 1 的信息。 - **1.7.2 使用 respond_to**:Rails 控制器提供了一个 `respond_to` 方法来处理不同格式的响应。例如,可以设置根据请求的类型(如 JSON 或 HTML)返回不同的...

    Rails 4 in Action, Second Edition.pdf

    - **Routing**:Rails通过配置路由来定义URL与控制器方法之间的映射关系,从而实现请求的分发。 - **Controllers**:控制器是处理用户请求的主要场所,它负责从模型获取数据并传递给视图展示。 - **Views**:视图层...

Global site tag (gtag.js) - Google Analytics