在Rails 4中命名模型“Image”是不好的做法吗?

时间:2015-06-09 04:34:31

标签: ruby-on-rails ruby-on-rails-4

在我的Rails 4应用程序中,我有一个名为Image的模型。从我在这里列出的保留字列表中可以看出,图像在Rails 4中不是保留字: http://www.rubymagic.org/posts/ruby-and-rails-reserved-words

我遇到的问题是图像类的路由创建了一个名为image_path的帮助程序,它恰好已经成为图像的资产帮助程序。例如,要在我的一个单元测试中访问路径助手,我需要调用Rails.application.routes.url_helpers.image_path(@image),这很容易被遗忘,外人很难调试。

我倾向于将模型重命名为Photo,但首先想看看是否有人有任何其他解决方案。

1 个答案:

答案 0 :(得分:1)

在命名模型映像时没有任何问题,但是如果资源控制器名为ImagesController,您将面临一些问题,因此您将覆盖URLHelpers image_path方法。

我认为不建议这样做,但如果你愿意,你可以这样做。要解决路径问题,您可以简单地为图像控制器指定另一个名称,如下所示:

# config/routes.rb
resource :images, as: :photo # or whatever you want to