how to set up and use a Rails routes prefix

后端 未结 7 1055
北海茫月
北海茫月 2021-02-05 07:39

When running rake routes I see:

 Prefix   Verb   URI Pattern                                       Controller#Action
 articles  GET    /articles(.:format)               


        
7条回答
  •  广开言路
    2021-02-05 07:53

    Paths

    I'm not sure why it's called prefix - it should be called path helper:

    enter image description here

    The bottom line is when you call helpers like link_to or form_tag etc - they will require paths to populate different actions in your app's routing structure.

    As Rails favours convention over configuration & DRY programming, meaning if you can reference these path helpers over using standard urls, it will allow you to make one reference & chance the route as required

    EG

    Calling articles_path is far more powerful than referencing /articles every time


    Routes

    To answer your question properly, you will need to appreciate Rails uses resourceful routing - basically meaning that every route helper you create should be defined around any resource in your application

    Due to the MVC structure of Rails, these resources will typically be defined by the controllers you use:

    #config/routes.rb
    resources :articles #-> articles_path etc
    

    You should always reference your resources as they are (in your case articles).

    To customize the path helper, you'll need to change the reference in the routes file, like this:

    #config/routes.rb
    resources :articles, as: :document, path: "document" #-> domain.com/documents
    

    This allows you to define custom routes / path helpers, allowing you to call those as you wish

提交回复
热议问题