1

以下の両方のパーシャルはテーブルの要素であり、同じ構造を持っています。したがって、最初にこれら 2 つのパーシャルをマージしてから、それらを 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
4

2 に答える 2

1

@projects と @shared_projects が配列であることを考慮すると、個別に行うのではなく、単一の配列に結合してパーシャルの 1 つに渡すことができます。

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

場合によっては、UI のパーシャルに違いがある場合は、アクションの名前を使用してビューで 2 つを呼び出すことができます。つまり、refreshprojects.html.erbアクションから 2 つの行を削除します。

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

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

于 2013-08-27T10:35:41.393 に答える
1

簡単な方法は、別のビューを作成しrefreshprojects、その中に両方のパーシャルをレンダリングすることです。

refreshprojects次に、ajax 呼び出しにレンダリングします。

于 2013-08-23T20:33:48.023 に答える