вопрос про маршрутизацию - PullRequest
0 голосов
/ 19 августа 2011

Я хочу прочитать все записи моей таблицы.это мой код

Контроллер:

def list
    @vorlesung=Vorlesung.find(:all)
  end

Просмотр:

<html>
<body>
  <table>
     <tr>
       <th>
         Name
       </th>
     </tr>
    <% @vorlesung.each do |v| %>
     <tr>
       <td><%= v.Name %> </td>
     </tr>
    <% end %>
  </table>

</body>

</html>

и файл маршрутизации:

root :to => 'vorlesungs#Show'
  match 'vorlesungs/new' =>'vorlesungs#new'
  match 'vorlesungs' =>'vorlesungs#list'
 resources :vorlesungs

, как я понял для CRUDя должен написать только ресурсы: vorlesungs .но мой код не работает без match 'vorlesungs' => 'vorlesungs # list' Не могли бы вы, пожалуйста, кто-нибудь сказать мне эту причину?

Ответы [ 2 ]

1 голос
/ 19 августа 2011

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

http://guides.rubyonrails.org/routing.html#resources-on-the-web

Вы должны либо оставить свой маршрут, либо переименовать список для индексации (включая list.html.erb в своих представлениях). Я рекомендую переименовать список в индекс, чтобы избежать нарушения соглашения.

0 голосов
/ 19 августа 2011

Действие CRUD для перечисления всех элементов ресурса является индексом, поэтому, если вы измените свой код на

def index
    @vorlesung=Vorlesung.find(:all)
end

и переименуете ваше представление в индекс, вы сможете использовать

resources :vorlesung
...