Ruby on Rails 可以为您做很多事情,而无需告诉 Rails 如何做。但是这个 \xe2\x80\x9cmagic\xe2\x80\x9d 仅当您遵循某些准则时才有效。\xe2\x80\x9cConvention Over Configuration\xe2\x80\x9d 表示只要遵循一定的约定,就不需要添加额外的配置。
\n例如,当User
您的应用程序中有一个模型时,Rails 会假定它是在app/models/user.rb
. 如果是这种情况,那么您在使用之前不需要需要该文件,Rails 的自动加载功能将能够为您做到这一点。Rails 会假设用户记录将存储在名为 的数据库表中users
。如果是这种情况,则不需要额外的配置,Rails 将能够加载这些记录。但如果记录存储在不同的表中,那么您必须显式告诉 Rails 新表名称。
还有更多这样的例子:
\nconfig/routes.rb
当您遵循特定的命名约定时,定义的路由链接到特定的控制器方法。如果不这样做,那么您必须配置什么路由映射到什么控制器和什么方法。因此,我的建议是:不要试图违背 Rails 约定。只有当您遵循 Rails 命名约定时,Rails 魔法才会发挥作用。使用建议的不同名称是可能的,但随后您必须进行大量额外的配置。
\n