Ruby on Rails: новый контроллер для фотографий? - PullRequest
2 голосов
/ 23 марта 2009

У меня отношения один-ко-многим между моим классом Profile и классом Photos. Профиль содержит информацию о пользователе, а фотографии - фотографии пользователя. В настоящее время ссылка «Загрузить фото» отображается в нижней части профиля. Я хочу, чтобы ссылка отображалась в отдельном виде, а не помещала все в одну форму. Должен ли я просто создать новый вид с именем profile_photo.html.erb, чтобы показать эту ссылку, или я должен создать новый контроллер и модель, которая связана с фотографиями? Какая рекомендуемая практика?

Ответы [ 2 ]

3 голосов
/ 23 марта 2009

Я согласен с Radar, вы захотите создать PhotosController. Когда вы сделаете это, вы сможете сделать еще один шаг и определить отношение has_many в файле rout.rb. Вот так:

   map.resources :photos
   map.resources :profiles, :has_many => :photos

Это сгенерирует URL-адреса, такие как profile_photos_path, new_profile_photo_path и т. Д. ... выполните команду rake routes, чтобы увидеть, что она вам дает. Это поможет сохранить ваш код СУХИМ и легким для чтения.

3 голосов
/ 23 марта 2009

Класс «Фото» должен называться «Фото», поскольку Rails использует единичные имена для моделей.

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

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