如何实现名为“系列”的Rails模型?

时间:2010-02-03 15:47:33

标签: ruby-on-rails

单数和复数形式相同,我在尝试点击New方法时遇到undefined_method错误。

我意识到为什么,我知道最简单的解决方案是使用另一个名字。

我也知道我可以创建一个自定义变形,但是什么?

问题是我真的需要像/ series,/ series / 1等网址,因为我实际上是在建模...等待它......系列事件。

使用“set”或“sequence”或其他同义词并不表达预期的含义。

一系列事件是系列而不是集合或序列。

有没有办法“别名”模型?

我应该/可以使用命名路由吗?

感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

假设您使用script/generate scaffold series构建模型控制器等,您应该在/config/routes.rb中有一行

map.resources :series

如果您将其更改为

map.series_index '/series',:controller=>'series',:action=>:index
map.resource :series

它会起作用。或者你可以添加Eric Hill的拐点初始化器。

答案 1 :(得分:0)

所以:

class Series < ActiveRecord::Base
  ...
end
肯定不起作用?查看source系列是内置的单一化规则之一,根据The Pluralizer,您应该可以命​​名您的模型类系列如上所述。

答案 2 :(得分:0)

你应该只能通过变形来做到这一点。在config/initializers/inflections.rb

ActiveSupport::Inflector.inflections do |inflect|
  inflect.uncountable 'series'
end

重新启动应用以激活。

相关问题