2

我对 Rails 比较陌生,最近发现了一些有用的 gem,比如authlogic,它们将有助于快速启动项目。但是,我一直想知道在哪里放置依赖于插件的模型、视图和控制器文件,但它们是我项目的核心概念。

例如,将 User、Role、Session 等模型和相关控制器与插件一起放在vendor/目录中更好,还是应该将它们分别放在 root model/view/controllers/目录中?

4

3 回答 3

2

甚至依赖于插件的模型/视图/控制器也应该与其他代码一起保存在 、 和 目录app/modelapp/viewapp/controllers

“结构性”原因是所有这些文件中的大部分仍将特定于您的应用程序。您最终可能会向用户添加字段,或向模型添加has_many语句User等。您希望所有代码与app目录中的其余核心应用程序代码。

“功能”原因是vender/plugins针对与该插件特别相关的代码,并且在开发过程中会受到不同的对待。例如,当您添加新插件时,它不会在开发模式下自动加载。因此,如果您的核心文件在那里,即使在开发模式下也不会自动重新加载。

于 2010-01-24T06:33:03.073 回答
1

你写的任何东西都应该在标准目录中。使用 vendor 获取供应商提供的代码。

于 2010-01-24T06:33:48.453 回答
1

就像提醒一样,观看有关您不熟悉的主题的 railscast 很难出错。

Ryan Bates 有两个涵盖authlogicauthlogic 的 OpenID,并期待您在身份验证授权之后的下一步:他还涵盖了一些访问控制: 声明式授权CanCan

于 2010-01-24T11:21:11.890 回答