更改脚手架路线的名称

时间:2017-09-17 17:05:35

标签: ruby-on-rails routes

有没有办法更改我的脚手架创建的路线的名称?我为汽车做了一个脚手架。目前我的路线中有resources :cars。如何更改路线,以便我的网址显示http://localhost:3000/transportation而不是http://localhost:3000/cars?我不需要在模式中更改实体的名称,我想要更改的是与之关联的路由。我怎么能这样做?

有没有其他方法可以实现这一目标,但每个人都可以获得?例如:

get '/transportation', to: 'cars#index', as: 'cars_index'

2 个答案:

答案 0 :(得分:1)

您可以在脚手架创建的<profiles> <profile> <id>deploy-snapshot</id> <activation> <activeByDefault>true</activeByDefault> </activation> <distributionManagement> <snapshotRepository> <id>snapshots</id> <name>Repository for snapshots</name> <url>http://ip1:port1/nexus/content/repositories/snapshots</url> </snapshotRepository> </distributionManagement> </profile> </profiles> 之后定义新路线,以响应您的汽车控制器和索引操作,或其他任何其他操作,具体取决于您希望实现的目标。

resources

如果您想将它应用于汽车脚手架上的所有路线,那么您可以传递路径选项:

resources :cars
get 'transportation', to: 'cars#index'  

这样,指向汽车的路线将无法使用,并将被替换为运输。

答案 1 :(得分:1)

您可以通过在resources :cars, path: 'transportations'

中传递您选择的字符串以及:path选项及其路由定义来重新定义具有自定义网址的资源路由
routes.rb

通过此路线定义,您应用中对resources :cars, :path => "transportation" 资源的访问权限将路由到这些网址

cars