【问题标题】:Ruby on Rails working with pre-existing database. Rails makes everything pluralRuby on Rails 与预先存在的数据库一起工作。 Rails 让一切都复数
【发布时间】:2011-01-13 22:11:27
【问题描述】:

这是怎么回事?我正在使用我自己没有做的预先存在的东西。数据库中的所有内容都以单数形式标记。用户、安全、规格等。我想正确的方法是用户、证券、规格。至少那是 ruby​​ on rails 在我生成一个 scaffold 时尝试查找的内容。

我如何具体说明在sql中使用用户而不是用户。我在我的项目中没有看到它正在查找 sql 的任何地方。我的意思是,如果我的模型是用户,您会认为它会尝试查找用户。而不是用户。

感谢您的帮助。

【问题讨论】:

  • 我很确定您可以根据需要覆盖使用的命名约定。有一个复数引擎可以很好地集成到 Rails 中,但正如我所说,在创建它们时,我确信你可以阻止它自动创建名称。默认命名约定有什么问题?

标签: ruby-on-rails ruby-on-rails-3 jruby


【解决方案1】:

您的模型中需要 set_table_name :name_of_the_table (source)。

所以:

class User < ActiveRecord::Base
  set_table_name :user
end

他们对表使用复数而对模型使用单数的原因是因为模型的一个实例代表一个用户,而表包含所有用户。只是为了使其更具可读性和逻辑性。

【讨论】:

    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 2016-04-30
    相关资源
    最近更新 更多