что делают эти рельсы? - PullRequest
       5

что делают эти рельсы?

1 голос
/ 06 октября 2010

Может кто-нибудь объяснить, например, URL-адреса примера?спасибо связка!(жемчужина!)

resources :products do
  resource :category

  member do
    post :short
  end

  collection do
    get :long
  end
end

Ресурсы отображают все маршруты в ProductController, верно?Как встраивается категория?

match 'products/:id', :to => 'catalog#view'

Отображает ли эта карта / products / 234 для categoryolController, действие?

Ответы [ 2 ]

5 голосов
/ 07 октября 2010

Попробуйте запустить rake routes из вашего каталога проекта Rails.Это выложит полный список маршрутов и места их назначения.

1 голос
/ 07 октября 2010

Как говорил Крис, рейк-маршруты покажут вам, но краткое объяснение:

любые маршруты на основе продуктов будут отправляться в контроллер продуктов, поэтому:

GET /products       # products controller index action
GET /products/:id   # products controller show action
POST /products      # products controller create action
PUT /products/:id  # products controller update action
... etc etc

Вам также будут даны некоторые дополнительные маршруты, которые идут к контроллеру категорий, эта категория будет свойством некоторого продукта ... так:

GET /products/:product_id/category   # categories controller index action
POST /products/:product_id/category  # categories controller create action
... etc etc

Если вы делаете что-то вроде:

match 'products/:id', :to => 'catalog#view'

вы переопределяете действие маршрута по умолчанию show. Это то, что вы хотите? Скорее всего нет. Снова запустите rake routes, чтобы узнать, что происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...