在Rails 2中,:as选项改变的是实际的path:
#路由配置
map.resources :posts, :as => :articles
执行
rake routes
输出如下:
posts GET /articles(.:format) {:controller=>"posts", :action=>"index"}
POST /articles(.:format) {:controller=>"posts", :action=>"create"}
new_post GET /articles/new(.:format) {:controller=>"posts", :action=>"new"}
edit_post GET /articles/:id/edit(.:format) {:controller=>"posts", :action=>"edit"}
post GET /articles/:id(.:format) {:controller=>"posts", :action=>"show"}
PUT /articles/:id(.:format) {:controller=>"posts", :action=>"update"}
DELETE /articles/:id(.:format) {:controller=>"posts", :action=>"destroy"}
/:controller/:action/:id
/:controller/:action/:id(.:format)
在Rails 3中
#路由配置
resources :posts, :as => :articles
执行 rake routes 则输出
articles GET /posts(.:format) {:action=>"index", :controller=>"posts"}
POST /posts(.:format) {:action=>"create", :controller=>"posts"}
new_article GET /posts/new(.:format) {:action=>"new", :controller=>"posts"}
edit_article GET /posts/:id/edit(.:format) {:action=>"edit", :controller=>"posts"}
article GET /posts/:id(.:format) {:action=>"show", :controller=>"posts"}
PUT /posts/:id(.:format) {:action=>"update", :controller=>"posts"}
DELETE /posts/:id(.:format) {:action=>"destroy", :controller=>"posts"}
Rails 3中如果想要达到与上边Rails 2相同的效果,则要在routes.rb中这样配置
resources :articles, :controller => :posts
再试一下,发现已经达到想要的效果了
分享到:
相关推荐
Rails允许开发者对路由进行精细的控制,包括指定使用的控制器、覆盖路由命名辅助方法、限制创建的路由、翻译路径等高级选项。 检查和测试路由 为了调试和验证路由的设置,Rails提供了列出现有路由和测试路由的工具...
3. **路由(Routing)**:Rails的路由系统根据URL映射到特定的控制器和动作,定义了应用的导航结构。 4. **测试驱动开发(Test-Driven Development, TDD)**:Rails鼓励使用TDD,提供了Rspec和Capybara等强大的测试...
为了确保读者能够通过实践加深理解,书中还安排了一系列练习作业,从最基础的“Hello World”开始,逐步过渡到更复杂的概念,如Rails的Routing(路由)机制。路由机制是Web应用中一个非常核心的概念,它定义了不同的...
3. **路由(Routing)**:Rails的路由系统将HTTP请求映射到控制器动作,定义了应用的URL结构。你需要学会配置路由文件(config/routes.rb)以定制URL模式。 4. **ActiveRecord**:这是Rails的ORM(对象关系映射)...
2. 路由(Routing):在Rails框架中,路由是连接HTTP请求与控制器动作的桥梁。本书详细讲解了路由的目的、routes.rb文件的结构、路由的全局化(globbing)、命名路由、路由规则的作用域以及如何列出当前所有路由。...
- **Routing**:Rails通过配置路由来定义URL与控制器方法之间的映射关系,从而实现请求的分发。 - **Controllers**:控制器是处理用户请求的主要场所,它负责从模型获取数据并传递给视图展示。 - **Views**:视图层...
在Web开发领域,Ruby与Rails框架的结合,即Ruby on Rails(RoR),开创了Web应用的新纪元。Ruby on Rails(简称Rails)是基于Ruby语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式,旨在提高开发...
routing-filter 包裹了 Rails 路由系统的复杂野兽,在 Rails URL 识别和生成中提供了看不见的灵活性和强大功能 路由过滤器围绕着复杂的野兽,Rails 路由系统在 Rails URL 识别和生成中提供了看不见的灵活性和强大...
#### Rails Routing 书中详细介绍了Rails的路由系统,这是一个关键组件,负责将URL映射到控制器和动作上。理解Rails的路由机制对于构建灵活和可维护的应用程序至关重要。 #### Refactoring to Resources 讨论了...
2. **Rails MVC结构**:模型(Model)处理数据和业务逻辑,视图(View)负责展示,控制器(Controller)协调两者。在Rails中,这些组件通过ActiveRecord、ActionView和ActionController被实现。 3. **ActiveRecord*...
3. **路由(Routing)**:Rails的路由系统将HTTP请求映射到相应的控制器方法。通过配置routes.rb文件,你可以定义URL模式及其对应的控制器动作。 4. **ActiveRecord**:这是Rails中的ORM(对象关系映射)库,允许...
ActiveRecord是Rails中的ORM(对象关系映射),它使得与数据库交互变得简单。你需要理解ActiveRecord的特性,如关联(associations)、验证(validations)和查询(queries)。 3. **视图(View)**:视图负责展示...
2. **模型(Models)**:Rails 使用 Active Record,这是一个 ORM(对象关系映射)库,允许开发者用 Ruby 代码操作数据库。模型定义数据结构、关联、验证和业务逻辑。 3. **视图(Views)**:视图负责展示数据,...
在本文中,我们将深入探讨如何使用Rails敏捷开发技术构建一个购物车系统,特别是在参考《rails敏捷开发第四版》中的示例。Rails 3.2.6是本文的基础框架,它是一个强大的Ruby Web应用程序框架,以其MVC(模型-视图-...
**路由(Routing)** 在Rails中定义了URL到控制器动作的映射。在`config/routes.rb`文件中,你可以看到如何配置blog应用的路由,例如`resources :posts`会自动生成对应文章的各种CRUD操作的路由。 **数据库和...
在Rails 2.0中,Active Record是ORM(对象关系映射)的一部分,它使得Ruby类可以直接与数据库表进行交互。每个Active Record类都代表一个数据库表,类的实例对应表中的行,类的属性对应列。Active Record提供了许多...
标题 "Rails相关电子书汇总二" 提供的信息表明,这个压缩包包含的资源主要与Ruby on Rails框架有关,特别是从“Rubyisms in Rails”的书名来看,我们可以期待它深入探讨了Ruby语言在Rails框架中的独特用法和特性。...
7. **r4rmusic-1** 和 **r4rmusic**:这两个可能是书中音乐应用的不同时期版本,可能包含了逐步构建Rails应用的过程,从基础功能到复杂特性的实现,是学习Rails开发过程的宝贵资源。 通过阅读和分析这些源代码,你...
2. **创建新项目**: 使用`rails new`命令可以快速创建一个新的Rails项目。例如,`rails new myapp`将生成一个名为myapp的新项目结构。 3. **目录结构**: Rails项目通常包含以下关键部分:app(包含模型、视图和控制...
Rails 2.0中的路由规则已经相当灵活,支持资源化路由(resourceful routing),使得创建RESTful API变得更加简单。 2. **控制器(Controllers)** 控制器处理HTTP请求,并与模型交互以获取数据,然后将这些数据传递...