代码之家  ›  专栏  ›  技术社区  ›  cryo28

在Rails中生成“小部件化”内容的最佳实践是什么

  •  0
  • cryo28  · 技术社区  · 15 年前

    在我以前使用Zend框架构建的项目中,我广泛使用了Zend_View的“操作视图”助手。它基本上允许从一个视图脚本启动一个单独的请求周期->分派ti操作->视图渲染。

    这是一个链接到 zend framework reference guide (搜索“操作视图帮助程序”)。

    这个助手是处理小部件化内容的非常方便的方法,例如在具有门户布局的页面上,您可以使用不同的小部件(如广告块、货币信息器等)填充页面。

    尽管这种方法会对页面的响应时间产生负面影响,因为它涉及大量额外的路由/调度活动,但它允许将小部件代码组织起来并将脚本查看到一个合理的结构中。一个小部件只是一个带有链接视图脚本的控制器操作。

    不幸的是,我在Rails中没有找到类似的视图帮助器。 有没有什么方法可以优雅地在Rails中解决这个任务?

    2 回复  |  直到 15 年前
        1
  •  0
  •   marshally    15 年前

    在Rails中, render 方法 ActionController 将哈希作为参数并输出简单字符串。您可以在视图中这样使用:

    <%= render :partial => "shared/widgets/_#{widget.widgettype.name}", :collection => @current_user.widgets %>
    

    在这种情况下,Rails将遍历 @当前的\u user.widgets ,在“app/views/shared/widgets”中查找小部件部分/_ 宽度类型名 .html.erb“,并为每个附加的小部件调用分部。

    有关Rails部分的更多信息,请参见 ActionView::Partials 文档。

        2
  •  0
  •   Michelle Tilley    15 年前

    看来我自己找到了问题的答案。是的” render_component “Rails插件。还有 a fork 显然支撑着铁轨3。