Вопрос

я никогда не трогаю routes.rb за пределами вызова map.root чтобы установить маршрут по умолчанию.Меня всегда устраивало использование URL-адресов в форме...

/controller/action/perhaps_an_id

и он работает нормально.

Делает ли это меня плохим человеком?Я упускаю что-то совершенно потрясающее?

Что, если я попытаюсь внедрить дизайн RESTful?Означает ли это, что мне придется редактировать routes.rb или я мог бы продолжать приятно игнорировать это?

(Я пытался прочитать эту тему в The Rails Way, но это было невыносимо.)

Это было полезно?

Решение

Если вы генерируете свои ресурсы с помощью шаблона по умолчанию, тогда он даже будет включать в себя спокойную маршрутизацию для вас в маршрутах.rb.

Если вы не используете леса, то причина, по которой они работают, заключается в маршрутах по умолчанию внизу:

    map.connect ':controller/:action/:id'
    map.connect ':controller/:action/:id.:format'

Я следил за тем, чтобы лучше всего было удалить их для производственных приложений и вместо этого убедиться, что доступны только те ресурсы, которые необходимо раскрыть.В Rails 2.2 вы даже можете ограничить использование RESTful-методов из map.resources следующим образом:

map.resources :posts, :only => [:index, :show]
map.resources :comments, :except => [:edit]

Есть также масса интересных вещей, которые вы можете сделать с вложенными ресурсами, именованными маршрутами и т. д.У них есть много примеров в документации (http://www.railsbrain.com/api/rails-2.2.2/doc/index.html?a=M000255&name=resources)

Другие советы

Вы также можете создать маршруты с собственными именами для своего отдела маркетинга (например:mycoolsite.com/free-trial), которые относятся к конкретным контроллерам и действиям и т. д.

Райан Бейтс подготовил серию скринкастов, в которых рассказывается о некоторых интересных вещах, которые можно делать с маршрутами: http://railscasts.com/tags/14

То, что вы не перешли на RESTful дизайн, не делает вас плохим человеком, и если вы не чувствуете необходимости что-то менять, продолжайте писать свои приложения в стиле 1.x.

Большинство разработчиков Rails внедрили REST и, кажется, очень этому рады.Я не думаю, что здесь есть необходимость повторять все аргументы в пользу REST.

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

map.resources :posts

Если бы вы использовали RESTful, да, вам пришлось бы отредактировать Routes.rb и добавить свои ресурсы, например:

map.resources :your_resource

или если у вас есть вложенные ресурсы,

    map.resources :people do |person|
      person.resources :ideas do |idea|
        ideas.resources :bad_ones
      end
    end
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top