ruby on rails多元化帮助?

时间:2009-10-28 21:59:41

标签: ruby-on-rails

  

可能重复:
  How do I override rails naming conventions?

我的应用程序将是西班牙语。 说我想绞架生成激活。复数将是actividades所以我希望表和控制器被命名为....我怎么能这样做?

3 个答案:

答案 0 :(得分:10)

将以下代码放在config / environment.rb中:

Inflector.inflections do |inflect|
  inflect.irregular 'actividad', 'actividades'
end

在控制台(脚本/控制台)中测试代码:

'actividad'.pluralize
'actividades'.singularize

可在此处找到更多详情: http://codeidol.com/other/rubyckbk/Web-Development-Ruby-on-Rails/Understanding-Pluralization-Rules/

答案 1 :(得分:6)

您可以通过添加变形将自己的复数添加到Rails。 Rails应该在/ config / initializers下有一个名为inflections.rb的文件。如果不是,您可以将其添加到那里。我的文件作为示例(评论来自Rails):

# Add new inflection rules using the following format
# (all these examples are active by default):
# Inflector.inflections do |inflect|
#   inflect.plural /^(ox)$/i, '\1en'
#   inflect.singular /^(ox)en/i, '\1'
#   inflect.irregular 'person', 'people'
#   inflect.uncountable %w( fish sheep )
# end

ActiveSupport::Inflector.inflections do |inflect|
  inflect.plural(/rion$/ ,'ria') # criterion => criteria
  inflect.singular(/ria$/, 'rion') # criteria => criterion
end

答案 2 :(得分:3)

我认为您最好的选择是用英语编写代码,并在必要时使用the i18n api以西班牙语和其他语言显示内容。