Routes中:new, :collection和:member的区别
九 13th, 2011 发表评论 | Trackback
RESTful风格的路由动词默认有7个(分别为:index, show, create, new, edit, update, destroy)。有时我们需要自定义路由,这时就要用到:on参数。:on参数有三种取值,分别为collection,member,new。
如果想添加一个member方式的路由,可以这样:
resources :photos do
member do
get 'preview'
end
end
将会添加一个路由:GET请求/photos/1/preview路由到PhotosController的preview action,同时也会新建preview_photo_url 和 preview_photo_path这两个helpers。
上面的member block中可以添加很多条记录。如果只有一条,一般会这样写:
resources :photos do
get 'preview',
n => :member
end
下面总结一下member,new,collection的区别:
:member 是对单个实体进行操作,创建路由格式是: /:controller/:id/:your_method
:collection 是对实体集合进行操作,创建路由格式是: /:controller/:your_method
:new 是新建一个实体,创建路由格式是: /:controller/:your_method/new
举例如下:
map.resources :users, :collection => { :rss => :get }
map.resources :users, :member => { :profile => :get }
map.resources :users, :new => { :draft => :get }
第一行创建的路由是:/users/rss
第二行创建的路由是:/users/1/profile
“1”就是user_id,我们需要知道用户ID才能得到用户的profile.
第三行创建的路由是:/users/new/draft
分享到:
相关推荐
:on参数有三种取值,分别为collection,member,new。 如果想添加一个member方式的路由,可以这样: 代码如下: resources :photos do member do get ‘preview’ end end 将会添加一个路由:GET请求/...
Routes :: map ( 'myfoo/bar' , 'my_callback_function' ); Routes :: map ( 'my-events/:event' , function ( $ params ) { $ event_slug = $ params [ 'event' ]; $ event = new ECP_Event ( $ event_slug ); $...
: : 来自Routes的JS从您的Rails路由生成路径帮助程序和API方法,从而使您的工作效率更高,并防止发生与路由相关的错误。 由于代码生成是完全可定制的,因此可以在非常不同的场景中使用。为什么? :thinking_face: ...
目前,它支持设置路径,您可以在路由树中的任何位置集成中间件,并且可以集成端点。 潮汐原生路线可能发生的某些事情(目前)尚不可行。 潮汐前缀路由未实现 你不能嵌套潮汐服务器 要使用此功能,您可以use tide_...
在本文中,我们将深入探讨Laravel开发中的一个重要概念——`laravel-admin-routes`,它是由Bytenet创建的一个管理路由包。这个包的主要目的是为了简化Laravel应用中后台管理界面的路由设置,使得开发者可以更高效、...
在Laravel中,路由定义在`routes/web.php`和`routes/api.php`两个文件中。通过`Route::get()`, `Route::post()`, `Route::put()`, `Route::delete()`等方法,我们可以为不同的HTTP动词注册路由。例如: ```php ...
将此行添加到您的应用程序的Gemfile中: gem "rails-routes" 然后执行: $ bundle 或自己安装为: $ gem install rails-routes 用法 将这个gem添加到您的项目后,您可以在config/routes创建多个路由文件。 只要...
swaggerize-routes是和使用的组件,用于基于解析和构建路由定义。 swaggerize-routes提供以下功能: 模式验证。 从Swagger 2.0文档中构建路线定义。 输入参数的验证助手。 用法 var builder = require ( '...
路由 生成将所有以Rails命名的路由定义为javascript助手的javascript文件安装您的Rails Gemfile: gem "js-routes"设置跑: rake js:routes在app/javascript/packs/application.js中使路由全局可用: window ....
在yarn add express-mount-routes或npm install express-mount-routes --save : const path = require ( 'path' ) ; const express = require ( 'express' ) ; const routes = require ( 'express-mount-routes' )...
然后执行以下命令: composer require laracrafts/laravel-geo-routes 注:如果您使用的是,你可以跳过服务提供商的登记和别名,因为他们做自己自动注册,但不要忘了所描述的发布配置。 注册服务提供商打开您的...
标题中的“Routes:影之地M +路线”似乎指的是一个游戏或者软件项目,其中"Routes"可能代表游戏或应用中的路径、导航或者剧情分支,而"影之地M"可能是这款游戏或项目的特定区域或主题,"+"后面的"路线"则可能是指玩家...
eslym / laravel-routes-builder 由PHP 8.0属性提供支持的Routes构建器 注意:请将此包与php artisan route:cache 安装 composer require eslym/laravel-routes-builder ^1.0 用法 use Eslym \ Laravel \ ...
路线规划你的运动路线建立步骤在~/.gradle/gradle.properties设置您的 Google Maps API 密钥: ROUTES_MAPS_API_KEY = YOUR_API_KEY在~/.gradle/gradle.properties设置您的 Google Directions API 密钥: ROUTES_...
`json-routes`的实践使得开发者可以将路由配置从传统的PHP `routes/web.php`和`routes/api.php`文件中抽离出来,存储到JSON文件中。这样做的好处包括代码组织、版本控制和易于自动化。 首先,让我们深入了解一下...
在`app.js`中,你会看到类似这样的代码,用于加载和使用`node-routes`: ```javascript const express = require('express'); const app = express(); const usersRoutes = require('./routes/users'); const ...
JWT是一种轻量级的身份验证和授权机制,通过在客户端和服务器之间传递加密的令牌来确保安全的数据交换。JWT包含三个部分:头部、载荷和签名,这些部分通过`.`分隔。它们是不可变的,一旦创建,就不能修改。 ### 2. ...
Hapi Routes允许您将所有路由逻辑放在指定文件夹中的不同文件中。 这使您可以清楚地了解自己的路线。 如何 server.js const server = new Hapi . server ( ) ; await server . register ( { plugin : require ( '...
TsRoutes for Rails 此gem在TypeScript中生成Rails URL帮助器,该routes.rb与routes.rb同步。 这是受启发的,它发明了将URL助手导出到JavaScript的好主意。用法在您的lib/tasks/ts_routes.rake : namespace :ts do ...