Определите маршруты Rails с аннотациями, как в Symfony - PullRequest
0 голосов
/ 05 декабря 2011

Я сейчас изучаю Rails, и это круто, но мне действительно нравится система маршрутизации Symfony. В Symfony можно определять маршруты непосредственно в Controller с аннотациями. Например:

/**
 * @Route("/blog")
 */
class PostController extends Controller
{
    /**
     * @Route("/{id}")
     */
    public function showAction($id)
    {
    }
}

Это означает, что / blog / 5 будет направлять на PostController # showAction. Мне нравится этот подход, потому что маршруты определяются непосредственно перед вашим методом действия, и, с моей точки зрения, он имеет больше смысла, чем определение всего в одном файле.

Есть ли что-то похожее для Rails?

Спасибо!

1 Ответ

3 голосов
/ 05 декабря 2011

Нет, для Rails нет ничего похожего на это. В Rails вы должны определить маршруты в config/routes.rb и разделить действия контроллера. Затем вы могли бы прокомментировать действия, указывающие, по каким маршрутам идти, но большинство людей этого не делают.

Если это действительно беспокоит вас, вы можете использовать Sinatra, который даже не имеет концепции контроллеров. Вместо этого вы определяете методы следующим образом:

get '/' do
  "Hello world"
end

Любой запрос GET, идущий на /, покажет "Hello World" на экране.

Sinatra - это то, что я лично использовал бы только для полулегких приложений, погружаясь в другие вещи, такие как Padrino или Rails для чего-то более тяжелого.

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