Rails3 маршруты это лучший способ? - PullRequest
0 голосов
/ 04 ноября 2010

Существует ряд других вопросов о маршрутизации Rails2 -> 3, но мой менее сложен и фактически не дает мне ошибки. Так почему вопрос? Ну, я хочу убедиться, что я не использую дополнительный ненужный код. Отказ от ответственности: я новичок в Ruby / Rails, изучающем Rails3 через книгу Simply Rails 2, пытаюсь адаптировать / выяснить все ошибки в надежде получить более глубокое понимание языка.

Итак, у меня есть мой первый просмотр index.html.erb (в приложении / views / Stories). Когда я впервые зашел посмотреть его на localhost: 3000 / историй, как в книге сказано, что я получил ошибку No route matches "/stories" после изменения URL-адреса на localhost: 3000 / Stories / index, страница показалась отлично.

Посмотрите на route.rb:

Shovell::Application.routes.draw do
  get "stories/index"

Я создал второе представление new.html.erb (в приложении / views / Stories):

<% form_for @story do |f| %>
<p>
  name:<br />
  <%= f.text_field :name %>
</p>
<p>
  link:<br />
  <%= f.text_field :link %>
</p>
<p>
  <%= submit_tag %>
</p>
<% end %>

Это представление не будет отображаться ни на одном URL, который я пробовал. Глядя на журнал сервера, я решил, что это вещь с маршрутами. Я изменил route.rb на это:

Shovell::Application.routes.draw do
  get "stories/index"
  get "stories/new"

Теперь, когда я захожу на localhost: 3000 / story / new, страница работает нормально (хотя ошибка метода, которая является частью упражнения в книге).

Неправильно, что мне придется вручную вводить каждое представление в rout.rb, должен быть способ установить root и позволить ему распознавать все файлы там. Могу я это сделать?

1 Ответ

1 голос
/ 04 ноября 2010

FYI http://edgeguides.rubyonrails.org/routing.html

root :to => "stories#index" # This means you render the root url by using stories controller and index action

resources :stories # The standard way to generate a resource (with index, new, edit, show, create, update, destroy actions automatically defined for you and supports some customization)

Так что для вашего случая, на самом деле resources :stories дал вам URL, которые вам нужны.

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