Rails视图开发:模板、助手与复用策略
1. 上传文件与插件
若想更轻松地处理图片上传和存储,可考虑thoughtbot的Paperclip或Rick Olson的attachment_fu插件。创建包含特定列的数据库表(具体列信息可在Rick的网站查看),插件会自动管理上传数据及其元数据的存储。与以往方法不同,它支持将上传文件存储在文件系统或数据库表中。
2. 使用助手
2.1 避免模板中代码过多的原因
在模板中放置一些代码是可行的,这能让模板具有动态性,但过多代码会带来问题:
- 破坏分层结构 :在视图层添加过多代码,容易导致将应用级功能混入模板代码,应将应用逻辑放在控制器和模型层,以便在新增视图方式时能通用。
- 影响设计协作 : .html.erb 本质是HTML文件,专业设计师更希望处理纯HTML,过多Ruby代码会增加他们的工作难度。
- 测试困难 :嵌入视图的代码难以测试,而拆分成助手模块的代码可独立测试。
2.2 助手的概念
Rails以助手的形式提供了很好的折衷方案。助手是包含辅助视图方法的模块,其方法以输出为中心,用于生成HTML、XML或JavaScript,扩展了模板的功能。
2.3 创建自定义助手
默认情况下,每个控制器都有自己的助手模块,还有一个全局的 application_helper.rb 助手。通常,与 Produ
超级会员免费看
订阅专栏 解锁全文
73

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



