【问题标题】:Merging multiple partials before rendering在渲染之前合并多个部分
【发布时间】:2013-08-23 20:24:24
【问题描述】:

下面的两个部分都是表格的元素并且具有相同的结构。所以我希望先合并这两个部分,然后将它们呈现给我的 ajax 调用。这可能吗?

def refreshprojects
  @projects = Project.get(params[:username])
  render :partial => "project.elements.data", :locals => {:projects=>@projects }
  render :partial => "project.shared.elements.data", :locals => {:projects=>@projects_shared }
end

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1


    【解决方案1】:

    考虑到@projects 和@shared_projects 是数组,您可以将它们组合成一个数组传递给其中一个部分,而不是单独进行。

    渲染 :partial => "project.elements.data", :locals => { :projects=> @projects + @projects_shared }

    如果 UI 的部分内容存在差异,您可以在视图中使用动作名称(即refreshprojects.html.erb)调用两者,然后从动作中删除这两行。

    渲染 :partial => "project.elements.data", :locals => {:projects=>@projects }

    渲染 :partial => "project.shared.elements.data", :locals => {:projects=>@projects_shared }

    【讨论】:

      【解决方案2】:

      一个简单的方法是创建另一个视图refreshprojects,然后在其中渲染两个部分。

      然后你会在你的ajax调用中渲染refreshprojects

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-09
        • 1970-01-01
        • 1970-01-01
        • 2011-03-11
        • 2011-04-17
        • 1970-01-01
        • 2015-07-04
        • 1970-01-01
        相关资源
        最近更新 更多