`
moneyinto
  • 浏览: 33620 次
  • 性别: Icon_minigender_1
  • 来自: 东台
社区版块
存档分类
最新评论

rails路由了解

阅读更多

学习了一段时间的rails on ruby,对rails路由有了些了解,做个总结。

首先进入工程文件夹下输入:

rails g controller users

这时生成users_controller.rb以及对应的控制器Users,生成的Users控制器会自动更新路由文件(route),rails通过这个文件寻找URL和网页之间的对应关系。

 

比如现在在views/users中有两个页面文件,login.html.erb和sign_up.html.erb

 

 

配置路由:

第一种方法,在routes.rb文件里:

Rails.application.routes.draw do
  get "users/login"
  get "users/sign_up"
end

这时启动工程(rails s),在浏览器中输入:localhost:3000/users/login

 

这时将来自/users/login的请求映射到Users控制器的login动作上,对应到GET请求方法上,就会自动在/users/login的地址获得一个页面。

 

若在login.html.erb上:

<p> login </P>
<%= link_to "用户注册",users_sign_up_path %>

 登上login页面点击”用户注册“,则转到sign_up页面。

 

 

第二种方法,在routes.rb文件中:

Rails.application.routes.draw do
  get "login" => "users#login"
  get "signup" => "users#sign_up"
end

这种写法,get后面的"login"可以自由变换,就像第二个,写成"sign_up"和"signup"都行,只是登录时在浏览器输入的路径要根据这里的写法,这里要到sign_up页面则要:localhost:3000/signup

这里的路径不像上一种方法要加/users。

在写link_to时,路径写成signup_path

 

下面介绍以下路径后的as

就第二种方法来说,在后面加上as:

Rails.application.routes.draw do
  get "login" => "users#login",:as => "ttt"
  get "signup" => "users#sign_up"
end

 这时在写link_to时,路径signup_path也可以写成ttt_path。

 

 

0
0
分享到:
评论

相关推荐

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

    **Rails路由信息** 是Rails应用程序中控制HTTP请求如何映射到控制器动作的重要部分。注释路由信息可以让你看到每个资源的RESTful操作(如index、show、new、create、edit、update、destroy)及其对应的URL模式。这...

    rails_routing_guide

    Rails路由指南 ...通过Rails路由指南,开发者可以深入了解Rails路由的用户面向功能,并能够在实际开发中运用自如,快速有效地设置和自定义路由规则,确保Web应用能够处理外部请求并作出正确的响应。

    Rails项目源代码

    这个Rails项目提供了学习和研究Web开发的机会,特别是对于Ruby on Rails新手,可以通过阅读和理解源代码来提升技能,了解实际应用中Rails的用法。同时,对于有经验的开发者,这个项目也可以作为一个起点,进行二次...

    Advanced Rails

    "Advanced Rails" 涵盖了Rails开发中的高级主题和技术,是Ruby on Rails学习进阶的重要资源,尤其适合已经对基础Rails有一定了解的开发者。 在Web开发领域,Rails以其高效、简洁的代码和“约定优于配置”的哲学吸引...

    The Rails 4 Way

    本书深入浅出地介绍了Rails 4的各种组件和功能,适合已经熟悉Ruby编程并希望深入了解Rails框架的开发人员。 #### 描述:学习ruby! 这句简短的描述暗示了本书的一个重要目标:帮助读者通过学习Rails来提高他们的...

    rails指南 中文版

    学习Rails指南中文版,开发者将全面了解Rails的各个方面,包括基础概念、核心组件、最佳实践以及如何构建完整的Web应用。此外,Rails社区活跃,有大量的插件和gem可供扩展,为开发者提供了丰富的资源和强大的支持。...

    rails2-sample

    例如,Rails的路由系统是如何工作的,以及如何使用Rails进行RESTful API的开发。这些知识对于深入理解和优化Rails应用至关重要。 #### 5. Models, Views, and Controllers(模型、视图和控制器) MVC是Rails的核心...

    Ruby on Rails入门例子

    - **路由(Routes)**:Rails的路由系统将URL映射到特定的控制器动作,定义了应用的导航结构。在`config/routes.rb`文件中配置路由规则。 - **生成器(Generators)**:Rails提供了强大的生成器工具,可以自动生成...

    Rails相关电子书汇总

    通过阅读"rubyonrails21-cn.pdf"这本书,读者可以学习如何搭建Rails环境,理解MVC架构,学习数据库设计,掌握路由规则,编写控制器和视图,进行测试,以及了解如何部署Rails应用。此外,书中可能还涵盖了Rails的安全...

    rails api(文档)

    在开发过程中,了解和参考Rails API文档将极大地帮助你理解和利用这个强大的框架,以构建健壮、高效的API服务。同时,熟悉相关的Gem和工具,如 grape、rabl 或 jbuilder,可以帮助你进一步定制和扩展你的API功能。

    rails敏捷开发的购物车系统

    首先,让我们了解Rails的MVC架构。模型(Model)负责处理业务逻辑和数据存储,视图(View)用于展示用户界面,而控制器(Controller)作为模型和视图之间的桥梁,处理用户输入并协调二者之间的交互。在购物车系统中...

    component base rails applications

    在掌握了以上知识点后,开发人员能够更加系统地了解如何利用Rails Engine来实现模块化的Rails应用,从而提高代码的复用性、可维护性和扩展性。通过拆分成组件,还能让团队分工更加清晰,提高开发效率,减少代码间的...

    Ruby on Rails源代码

    通过阅读源代码,你可以了解如何设置资源路由、命名路由、自定义路由以及如何处理参数。 2. **ActiveRecord**:作为ORM(对象关系映射)层,ActiveRecord使得Ruby对象与数据库表之间的交互变得简单。源代码中的`app...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    通过以上介绍,我们不仅了解了Rails的基础知识,还深入探讨了其核心组件——Active Record的相关概念和技术细节。这些内容对于初学者来说是非常宝贵的入门资料,同时也是进一步学习和实践的基石。随着对Rails的深入...

    rails学习教程

    Rails的路由系统将URL映射到控制器的行动上,定义了应用的导航结构。通过`config/routes.rb`文件,你可以自定义路由规则,指定URL如何被解析。 五、Rails生成器 Rails提供了许多命令行工具,如`rails generate`,...

    rails 项目起步示例

    在Rails项目中,我们首先需要了解的是项目的目录结构。一个标准的Rails应用会包含以下关键部分: 1. **app**:应用程序的核心,包括模型(models)、视图(views)和控制器(controllers)。模型负责业务逻辑和数据...

    rails2.3.2

    开发者可以通过解压这个文件,进一步了解 Rails 框架的结构和工作原理。 Ruby on Rails 2.3.x 版本包含了多个重要的特性,例如: 1. Active Record:这是 Rails 的 ORM(对象关系映射)层,负责处理数据库交互。在...

    Rails recipes

    Rails Recipes涵盖了Rails的众多方面,包括但不限于模型、视图、控制器、路由、数据库迁移、安全、性能优化、测试和部署等。 书中所提到的“隐藏的宝石”,意味着即使是经验丰富的Rails开发者也可能还没有发现或...

    Rails进行敏捷Web开发(所有版本的源码rails3.0-4.0)

    - Asset Pipeline的工作流程,了解资源的预处理、合并和压缩。 - 控制器和助手类的生命周期,以及如何有效地使用过滤器和before/after actions。 - 模型验证和数据清理机制。 - 如何利用Rails的生成器和模板来快速...

Global site tag (gtag.js) - Google Analytics