Rails开发:视图助手、布局与部分模板的高效运用
1. 使用助手(Helpers)
在Rails开发中,虽然可以在模板中编写代码,但过多的代码会带来一些问题。主要有以下三个原因:
- 破坏分层架构 :在视图层添加过多代码,容易导致将应用级功能混入模板代码,这不符合分层架构的原则,应将应用逻辑放在控制器和模型层,以便在不同视图中复用。
- 影响设计协作 : .html.erb 本质上是HTML文件,若其中包含大量Ruby代码,会给专业设计师的工作带来困难。
- 测试困难 :嵌入视图的代码难以进行测试,而将代码拆分成助手模块则可以独立测试。
Rails提供了助手(Helpers)来解决这些问题。助手是包含辅助视图方法的模块,其方法以输出为中心,用于生成HTML、XML或JavaScript,扩展模板的功能。
1.1 创建自定义助手
默认情况下,每个控制器都有自己的助手模块,还有一个全局的 application_helper.rb 。例如,在 store 控制器中,为了避免模板间的代码重复,我们可以将页面标题的代码提取到 store_helper.rb 中:
module StoreHelper
def page_title
@page_title || "Pragmatic Store"
end
end
超级会员免费看
订阅专栏 解锁全文
66

被折叠的 条评论
为什么被折叠?



