在Ruby和Rails中使用'Function'作为模型名称是否安全?

时间:2015-03-03 14:53:08

标签: ruby-on-rails ruby

使用'功能'是否安全?作为Ruby和Rails中的模型名称?

class Function < ActiveRecord::Base
  ...
end

我希望与某些默认类有一些冲突,但也许我错了。

3 个答案:

答案 0 :(得分:1)

您永远无法确定潜在的名称冲突。它可能在某些时候很好,但是稍后,您依赖的某些库可能会决定使用该名称。人们采取的一种实用策略是将所有内容放在命名空间(模块)中,并使用您认为在此时安全的名称。如果后来与某些内容发生冲突,您只需在代码中的任何位置重命名该命名空间,而无需触及任何其他内容。

答案 1 :(得分:1)

如果它不在保留的方法和类名中,则通常可以使用

在此处查看列表 http://www.rubymagic.org/posts/ruby-and-rails-reserved-words

但在阅读代码或谈论代码时使用function可能会造成混淆。

“查看Function类中的函数并确保其正常运行”

答案 2 :(得分:0)

    c700595-3:VtM deh0002a$ rails c
Loading development environment (Rails 4.2.0)
2.1.5 :001 > Function
NameError: uninitialized constant Function
    from (irb):1
    from /Users/deh0002a/.rvm/gems/ruby-2.1.5@vtm/gems/railties-4.2.0/lib/rails/commands/console.rb:110:in `start'
    from /Users/deh0002a/.rvm/gems/ruby-2.1.5@vtm/gems/railties-4.2.0/lib/rails/commands/console.rb:9:in `start'
    from /Users/deh0002a/.rvm/gems/ruby-2.1.5@vtm/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:68:in `console'
    from /Users/deh0002a/.rvm/gems/ruby-2.1.5@vtm/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
    from /Users/deh0002a/.rvm/gems/ruby-2.1.5@vtm/gems/railties-4.2.0/lib/rails/commands.rb:17:in `<top (required)>'
    from bin/rails:4:in `require'
    from bin/rails:4:in `<main>'
2.1.5 :002 > 

所以你可以安全地申报这样的课程。