`
fantaxy025025
  • 浏览: 1346277 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

rails_rest风格resources和路由_小结

阅读更多

Rest风格的访问方式,在rails使用更简单。

 

 

ActionController::Routing::Routes.draw do |map|
  map.resources :articles
end

 这样rails就生成了适合普通CRUD操作的路由。

 

# C

 

new_article            GET    /articles/new

                              {:controller=>"articles ", :action=>"new"}

 

                             POST   /articles(隐式的)

                              {:controller=>"articles", :action=>"create"}

 

# R

 

articles                    GET    /articles(read a list)

                              {:controller=>"articles", :action=>"index"}

 

article                     GET    /articles/:id(read one)

                              {:controller=>"articles", :action=>"show"}

 

#U

 

edit_article              GET    /articles/:id/edit

                              {:controller=>"articles", :action=>"edit"}

 

                              PUT    /articles/:id(隐式的)

                              {:controller=>"articles", :action=>"update"}

 

#D

 

                              DELETE /articles/:id(隐式的)

                              {:controller=>"articles", :action=>"destroy"}

 

 

现在的页面,很多都用ajax来操作,以减少页面刷新,增强用户体验,加快编辑效率。

所以,上面的url_path都有一个formatted_xxx与其相对应。

 

#C

 

formatted_new_article  GET    /articles/new.:format

                                    {:controller=>"articles", :action=>"new"}

 

                                    POST   /articles.:format

                                    {:controller=>"articles", :action=>"create"}

 

#R

 

formatted_articles     GET    /articles.:format

                                {:controller=>"articles", :action=>"index"}

 

formatted_article      GET    /articles/:id.:format

                                {:controller=>"articles", :action=>"show"}

 

#U

 

formatted_edit_article   GET    /articles/:id/edit.:format

                                    {:controller=>"articles", :action=>"edit"}

 

                                    PUT    /articles/:id.:format

                                    {:controller=>"articles", :action=>"update"}

#D

 

                                  DELETE /articles/:id.:format

                                 {:controller=>"articles", :action=>"destroy"}

 

 

分享到:
评论

相关推荐

    RestFul_Rails_Dev_pdf_v_0.1.zip

    在IT行业中,REST(Representational State Transfer)是一种广泛采用的Web服务架构风格,它强调了简单、统一且可预测的接口设计,使得客户端与服务器之间的交互变得更加高效和灵活。Rails,全称Ruby on Rails,是...

    使用rails编写REST风格的web应用

    总结来说,"使用rails编写REST风格的web应用"涉及的内容包括Rails框架基础、MVC模式的理解、RESTful设计原则的应用、路由配置、控制器和模型的编写、视图渲染以及相关的测试和安全措施。学习这部分内容将使开发者...

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

    REST(Representational State Transfer)是一种软件架构风格,用于定义客户端与服务端之间交互的标准方式。RESTful API是基于HTTP协议设计的,通过不同的HTTP方法(如GET、POST、PUT和DELETE)来执行对应的操作,并...

    building_a_rails_api

    REST(Representational State Transfer)是一种软件架构风格,用于设计网络应用程序。在RESTful API中,资源通过HTTP方法(如GET、POST、PUT、DELETE)进行操作,这使得API易于理解和使用。 1. **创建新Rails项目*...

    使用rails6开发纯后端API项目.zip

    Rails的路由系统支持RESTful模式,如`resources :users`会自动创建CRUD操作的路由。 3. **JSON响应** Rails 6默认使用JBuilder或ActiveModelSerializers来生成JSON响应。例如,为用户模型创建一个简单的序列化器:...

    ruby on rails API

    4. 资源路由:Rails的路由系统允许开发者定义资源路由,例如`resources :users`,这会自动为用户提供一系列与用户相关的URL,如`/users`(列出所有用户)、`/users/:id`(获取特定用户)等。 5. 异常处理:在API中...

    rails-2.1.0-gem包

    通过资源化路由,开发者可以更方便地创建符合REST原则的控制器和URL结构,使得API设计更加清晰和模块化。 其次,这个版本引入了“ActiveRecord观察器”(ActiveRecord Observers)。观察器是对象,可以监听模型事件...

    The Rails 4 Way, 3rd edition.pdf

    例如,`resources :articles`会自动生成一系列路由,包括`new_article_path`、`edit_article_path`等。 - **路由分组**:当需要为一组路由添加相同的前缀或约束条件时,可以使用`scope`块来进行分组。这有助于保持...

    Advanced RESTful Rails Presentation

    6. **路由映射**:使用`map.resources :users`创建了与用户相关的RESTful路由。 7. **代码示例**:给出了一段`UsersController`类的代码示例,演示了如何实现激活、挂起、取消挂起、删除等操作。 8. **Restful ...

    Advanced Rails Recipes

    《Advanced Rails Recipes》是一本针对中高级Ruby on Rails开发者的实践指南,涵盖了RESTful API设计、路由管理、数据库优化等多个方面。通过对这些高级技术的深入探索,读者可以更好地掌握Rails框架的核心理念和...

    基于ruby on rails 的简单blog

    6. **编写路由**:在`config/routes.rb`中定义路由规则,如`resources :posts`会自动创建CRUD操作。 7. **编写控制器**:实现模型与视图之间的交互,处理请求并返回响应。 8. **创建视图**:在`app/views/posts`目录...

    Rails 3 in Action

    - **RESTful路由**: 定义符合REST原则的URL路径。 - **提交更改**: 使用Git提交版本变更。 - **设置页面标题**: 如何修改HTML头部信息。 - **验证**: 确保数据输入的准确性。 #### 4. Oh CRUD! - **查看项目**...

    rubyrailsapi:关于Ruby on Rails的示例API

    Ruby on Rails,简称Rails,是基于Ruby编程语言的一个开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和代码的可读性。这个"rubyrailsapi"项目专注于展示如何在Ruby on Rails平台上...

    edx-rottenpotatos-rails

    4. **路由配置**:定义了用户如何导航到各个页面,例如`resources :movies`会生成CRUD(创建、读取、更新、删除)相关的路由。 5. **用户认证**:可能包含简单的登录注册功能,或者利用如Devise这样的gem来实现更...

    clickstack-framework-1.0.10.zip

    1. **项目结构**:可能包含`src/main/scala`和`src/main/resources`,前者存放Scala源代码,后者可能包含配置文件和静态资源。 2. **Scalatra设置**:项目可能使用`build.sbt`或`project/Build.scala`作为构建文件,...

    maru_blog_post_code:关于使用 maru 在 Elixir 中实现类似 Rest 的 Api 的博客文章的代码

    Maru是一款轻量级且强大的Web开发库,它提供了类似于Ruby on Rails的路由和参数处理功能,但更加简洁和灵活。 首先,让我们理解什么是Maru。Maru是由Elixir社区开发的一个HTTP服务器框架,它允许开发者以模块化的...

    rocketseat-nlw:此回购是关于Rocketseat NLW中的事件,当我需要使用Elixir创建rest api时

    创建REST API时,你需要定义资源路由,例如在`web/router.ex`文件中,使用`resources`宏为特定的模型创建CRUD(创建、读取、更新、删除)操作。然后,在`web/controllers`目录下创建相应的控制器处理HTTP请求,如`...

    可教API

    在Rails中,创建API资源通常涉及定义控制器和路由。以下是一个简单的示例: ```ruby # app/controllers/users_controller.rb class UsersController respond_to :json def index @users = User.all ...

Global site tag (gtag.js) - Google Analytics