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"
分享到:
相关推荐
此外,书中还介绍了一些Rails中的高级概念,如Strong Parameters(强参数),它在Rails 4.0版本中引入,用于解决之前版本中的参数篡改问题,从而帮助开发者安全地处理外部提交的数据。 通过一系列的教学内容,包括...
**Ruby-Annotate** 是一个Ruby gem,它的主要功能是分析你的Rails应用程序,获取数据库模式信息,并在你的模型文件顶部添加注释。这些注释包含关于模型字段的数据类型、长度、默认值以及是否允许为空等信息。这极大...
防止恶意用户通过修改URL中的分页参数来访问未授权的数据,确保在控制器中对`params[:page]`进行验证。 以上就是Rails中使用`Kaminari`实现分页的基本流程和注意事项。理解并熟练掌握分页技巧,能够帮助你在开发...
- **起源与发展**:Rails(Ruby on Rails)是由David Heinemeier Hansson创建的一种开源Web应用程序框架,自2004年发布以来迅速获得了全球开发者的关注与支持。Rails的设计理念强调简洁性和生产力,主张“约定优于...
在Ruby on Rails(Rails)框架中,开发人员经常需要实现各种用户交互功能,例如三级联动选择,这在处理如中国省市区这样的地理数据时尤其常见。这篇博客文章“Rails中应用Ext.tree:以中国的省市地区三级联动选择为...
在Rails 4.0.0中,引入了专门针对API开发的Rails API模式,为开发者提供了构建高效、可维护的RESTful API的工具。 一、Rails API模式的核心特点: 1. 轻量级:Rails API模式去掉了不必要的视图层,使得应用更加轻便...
- **效果**:这将在应用中增加一个新的URL路径,指向指定控制器的动作。 #### 七、渲染视图 - **方法**:在控制器中使用`render`方法来显示特定的视图文件。 - **视图文件**:通常使用ERB模板语言来编写视图文件,...
### RailsSpace:构建社交网络网站 #### 一、引言 RailsSpace是一本专注于通过实践项目教授Ruby on Rails开发的书籍。本书通过构建一个面向Ruby...无论是新手还是有经验的开发者,都能从本书中获得宝贵的实践经验。
在本篇内容中,我们将深入探讨如何利用Ruby on Rails(简称Rails)这一强大的Web应用程序框架来构建可伸缩且易于维护的RESTful API。Rails以其简洁优雅的语法、高效的开发速度以及良好的社区支持而闻名,这使得它...
5. **路由系统**:Rails的路由系统将URL映射到特定的控制器方法,使得URL设计更加灵活且语义化。 6. **RESTful设计**:Rails鼓励使用REST(Representational State Transfer)架构风格,通过HTTP动词(GET、POST、...
Rails API文档是Ruby on Rails框架的核心参考资料,专为开发者提供详细的API接口信息和技术指南。Rails是基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,极大地简化了Web开发过程...
本书还会详细讲解Rails的路由系统,它是应用中URL和控制器动作之间的映射,确保用户请求能够正确地到达目的地。此外,你还将接触到Rails的测试驱动开发(TDD)理念,学习如何编写测试用例,确保代码的质量和稳定性。...
本资料“RestFul_Rails_Dev_pdf_v_0.1.zip”包含了《RESTful Rails Development》的翻译版,将深入探讨如何在Rails中实现RESTful的设计模式。 首先,RESTful设计的核心概念是资源(Resources)。在Rails中,资源...
这种设计理念极大地提高了开发者的生产力,使得Rails在短短几年内获得了广泛的认可。 在Rails中,Model代表数据模型,负责处理数据库交互;View是用户界面,展示数据给用户;Controller作为两者之间的桥梁,负责...
1. **Ruby 1.9.2**:虽然Rails3可以在Ruby 1.8.7上运行,但为了避免已知的bug和获得更好的性能,官方建议使用Ruby 1.9.2。 2. **RubyGems**:这是Ruby的标准包管理工具,用于安装和管理Ruby库。 3. **SQLITE3数据库*...
例如,`/users/1` 可能代表获取用户 ID 为 1 的信息。 - **1.7.2 使用 respond_to**:Rails 控制器提供了一个 `respond_to` 方法来处理不同格式的响应。例如,可以设置根据请求的类型(如 JSON 或 HTML)返回不同的...
- **Routing**:Rails通过配置路由来定义URL与控制器方法之间的映射关系,从而实现请求的分发。 - **Controllers**:控制器是处理用户请求的主要场所,它负责从模型获取数据并传递给视图展示。 - **Views**:视图层...