2012-04-16 4 views
0

В Rails, при создании модели с использованием строительных лесов, как следующее:добавить new_foo_path вручную в рельсах

рельсы генерировать эшафот Имя пользователя: строка электронной почты: строка

Он будет генерировать: модели, контроллеры и views

Представления, например, в файле index.html.erb есть таблица, в которой перечислены все регистры пользователей. Для каждого пользователя есть ссылки: Показать, Изменить, уничтожить

в index.html.erb они представлены следующие линии:

<td><%= link_to 'Show', student %></td> 
<td><%= link_to 'Edit', edit_student_path(student) %></td> 
<td><%= link_to 'Destroy', student, :confirm => 'Are you sure?', :method => :delete %></td> 

и там также является Новой ссылкой Пользователя, который представлен :

<%= link_to 'New Student', new_student_path %> 

Однако, если я создаю модель, представление и контроллер вручную без эшафота, то не будет генерироваться этот «путь». От «paths» Я имею в виду: new_student_path, edit_student_path (учащийся), учащийся

Как сгенерировать их вручную?

ответ

0

Редактировать config/routes.rb. Вы можете добавить, например. это:

resources :students 

Вы можете увидеть больше об этом на http://guides.rubyonrails.org/routing.html

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

HTTP VerbPath action used for 
GET  /photos   index display a list of all photos 
GET  /photos/new  new  return an HTML form for creating a new photo 
POST /photos   create create a new photo 
GET  /photos/:id  show display a specific photo 
GET  /photos/:id/edit edit return an HTML form for editing a photo 
PUT  /photos/:id  update update a specific photo 
DELETE /photos/:id  destroy delete a specific photo 
+0

Я получаю следующее сообщение об ошибке: ActionView :: MissingTemplate in Users # new Отсутствие частичных пользователей/форм с помощью – bytebiscuit

+0

Тогда это работает :) У вас есть файлы/пользователи/new.html.erb и views/users/_form. html.erb? –

+0

Вам не хватает файлов/users/_form.html.erb, но это не связано с маршрутизацией. –

1

Когда вы добавляете ресурсы в config/routes.rb, пути будут генерироваться автоматически.

Предположим, что вы добавили контроллер с именем StudentsController вручную. Чтобы получить new_student_path, edit_student_path и т.д., вам необходимо добавить строку в config/routes.rb

resources :students 

Это добавляет пути для семи успокоительных действий. Подробнее о маршрутах рельсов вы можете узнать по этому адресу: http://guides.rubyonrails.org/routing.html

+0

Andreas, извинение, я редактировал неправильный пост и поставить свою информацию в своем ответе. Виноват. Я попытался восстановить ваше приближение к оригиналу. Опять же, извинения, было просто ошибкой. –

+0

Не круто. –

+0

Снова, извинения, Это была ошибка. Они случаются. Я собирался улучшить ваш ответ, вернувшись к оригиналу, но я вижу, что вы уже это сделали. –