有没有办法更改我的脚手架创建的路线的名称?我为汽车做了一个脚手架。目前我的路线中有resources :cars
。如何更改路线,以便我的网址显示http://localhost:3000/transportation而不是http://localhost:3000/cars?我不需要在模式中更改实体的名称,我想要更改的是与之关联的路由。我怎么能这样做?
有没有其他方法可以实现这一目标,但每个人都可以获得?例如:
get '/transportation', to: 'cars#index', as: 'cars_index'
答案 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