我的Profile类和Photos类之间有一对多的关系。个人资料保存用户的信息,照片保存用户的图片。目前,“上传照片”链接显示在个人资料视图的底部。我希望链接显示在单独的视图上,而不是在同一表单上填写所有内容。我应该创建一个名为profile_photo.html.erb的新视图来显示此链接,还是应该创建一个与照片关联的新控制器和模型?建议的做法是什么?
答案 0 :(得分:3)
“照片”类应该被称为“照片”,因为Rails使用单数名称作为模型。
是的,你应该创建一个新的控制器来创建照片,因为它是另一种资源。您可能希望最终编辑照片,添加说明等。
答案 1 :(得分:3)
我同意Radar,你会想要创建一个PhotosController。当你这样做时,你可以更进一步,并在routes.rb文件中定义has_many关系。像这样:
map.resources :photos
map.resources :profiles, :has_many => :photos
这将生成profile_photos_path
,new_profile_photo_path
等网址...运行rake routes
命令以查看它为您提供的内容。这将有助于让您的代码干燥且易于阅读。