2016-05-05 13 views
0

json.erbテンプレートに次のjsonデータがあり、スクリプトタグが含まれています。私はscriptタグを含めた後、無効なjson応答を得る。以下のコードでは何が間違っていますか?json.erbテンプレートでスクリプトタグをレンダリングする方法

{ 
    "name" : <%= @name %>, 
    "totalRecords" : <%= @all_records %>, 
    "filteredRecords" : <%= @filteredRecords %>, 
    "data" : [ 
    <%= render partial: "user_list", collection: @users %> 
    ] 
} 

<script type="text/javascript"> 
    $(document).ready(function(){ 
    $('#selectall').click(function() { 
     // ..... 
    }); 
    }); 
</script> 

答えて

0

あなたはとあなたのコントローラからJSONをレンダリングすることができます。これは、あなたがAJAXリクエストからshowアクションをヒットすることができます

def show 
    ... # setup code 
    render json: @my_json_structure 
end 

。私があなたにもっと多くの情報を与えることができるかどうか私に教えてください。

+0

に使用できるオブジェクトのコントローラにJSONオブジェクトを作るべきだと思う私は、JSONレスポンスを取得正しく、しかし、一度私はjson.erbファイルのjavascript

1

<script>または他のタグをJSONに含めることはできません。それは無効になります。

また、テキスト値を引用符で囲むことを忘れないでください。そうしないと、JSONが無効になります。

{ 
    "name" : "<%= @name %>", 
    "etc.": "...", 

動的負荷におよびJavaScriptファイルを実行する(プロジェクトでのjQueryを使用しない場合)、あなたはjQuery.getScript()メソッドを使用するか、動的にJavaScriptでscriptタイプを作成することができます。

$.getScript('js/your-javascript.js'); 
+0

あなたが任意の代替のだと思いますか?私は、ページに必要ないくつかのJavaScriptコードがあるので、javascriptを含める必要があります。 – Kumar

+0

javascriptとして個別に読み込みます。また、文字列を引用符で囲むことを忘れないでください。私の答えを更新しました。 – Uzbekjon

+0

@Kumarはあなたの要求に応じて代替案を追加しました。 – Uzbekjon

0

スクリプトタグをしたいか、応答してRO実行JSが必要な場合、私はあなたがjs.erbを使用していて、js.erb

関連する問題