Ruby on Rails:照片的新控制器?

时间:2009-03-23 04:23:21

标签: ruby-on-rails ruby forms

我的Profile类和Photos类之间有一对多的关系。个人资料保存用户的信息,照片保存用户的图片。目前,“上传照片”链接显示在个人资料视图的底部。我希望链接显示在单独的视图上,而不是在同一表单上填写所有内容。我应该创建一个名为profile_photo.html.erb的新视图来显示此链接,还是应该创建一个与照片关联的新控制器和模型?建议的做法是什么?

2 个答案:

答案 0 :(得分:3)

“照片”类应该被称为“照片”,因为Rails使用单数名称作为模型。

是的,你应该创建一个新的控制器来创建照片,因为它是另一种资源。您可能希望最终编辑照片,添加说明等。

答案 1 :(得分:3)

我同意Radar,你会想要创建一个PhotosController。当你这样做时,你可以更进一步,并在routes.rb文件中定义has_many关系。像这样:

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

这将生成profile_photos_pathnew_profile_photo_path等网址...运行rake routes命令以查看它为您提供的内容。这将有助于让您的代码干燥且易于阅读。