2011-12-30 7 views
0

表示部分クエリ完全な列を返し、行によってデータ列を必要

<%= link_to "Link", {:action => "AjaxView",:col => "colname"}, :update => "Ajaxcall", :remote => true %> 

コントローラ

def AjaxView 
    @vars= Var.find(:all,:conditions => { :varName=> "one" },:select=>(params[:col])) 
respond_to do |format| 
    format.js { render :layout=>false } 
end 
end 

AjaxView.js.erb

$("#3").text("<%= escape_javascript(render(:partial => "var", 
              :collection => @vars)) %>"); 

_var.html.erb

<%= var.col1 %> 

これで、Columnからすべての値が返されます。

電流出力がある:グリッドにおける「amit1 amit2 amit3 amit4」1つの文字列として 私は本部のIDでそれをマッピングし、それらを公開することができるように、私は、これらの値を一つずつ取得したい

所望の出力は次のようになります。 "amit1"

+0

ご質問は明確ではないです。現在の出力と希望の出力を加えてください。 –

+0

クライアントが解析できるサーバー出力JSONが必要です。上記のコードで 'var'とは何ですか?私は疑似コードを表示していると思いますが、実際のコードはあまりにも多く削除しています。 – d11wtq

+0

また、ActiveRecordクエリとは何ですか? – Eugene

答えて

0

おかげで彼女が提供するalony

正しい答えに多くのAjaxView.js.erbの書き込みでも

<% @vars[2].col1 %> 

$("#3").text("<%= escape_javascript(render(:partial => "var")) %>"); 
2

このようにrender(:partial => "var", :collection => @vars)を呼び出すと、実際には変数ごとにその部分を1つずつレンダリングします。あなたが部分的に追加したいすべてのHTML部分を使用)

1::だから1により、このデータ1を使用するように私はあなたがこれらのいずれかが必要だと思う _var.html.erb

<td id='<%= var.col1 %>'> # or whatever attributes you want 
    .. 
</td> 

2)部分内に直接変数を反復: AjaxView.js.erb

$("#3").text("<%= escape_javascript(render(:partial => "var")) %>"); 

_var.html.erb

<% @vars.each do |var| %> 
    # do whatever you want 
<% end %> 
+0

Alony、完全なコードを更新しました。今すぐ見てください –

+0

はい、あなたは '@ vars'コレクションの各エントリの部分をレンダリングしています。部分文字列には1つの文字列しか含まれていないので、すべてのレコードに対して 'col1'が結果として表示されます。 したがって、明確にするために、 '@ vars'の各エントリのcol1を別のdivに表示しますか? – alony

+0

はい、これは私が欲しいものです。これは私のグリッドのための最後の仕事です、これで私を助けてください。 –

関連する問題