5

ファイル名の前に「_」を付けずにパーシャルをレンダリングするにはどうすればよいですか?使用しないように呼び出すことができるパラメーターはありますか?

この問題は、RABLとバックボーンを使用して発生しました。RABLを使用するには、ビューに「index.json.rabl」のようなファイルが必要です。ただし、(Backboneで通常行われているように)ページの読み込み時にJSONの埋め込みを使用する場合は、ファイル「_index.json.rabl」を呼び出す必要があります。これらの2つのファイルはまったく同じものであり、異なる名前が必要です。「index.json.rabl」という1つのファイルだけを使用し、render()関数に「_」を付けずにそのファイル名を検索させるようにしています。

=>編集

人々が以下に説明している標準的な解決策は機能しません。それでは、おそらくRABLの問題ですか?以下のコードは常にviews/countrys/_index.json.rablファイルに移動します。

私の.erbファイルで

countryList.reset(<%=get_json("countries", "index", @countries)%>);

私のapplication_helper.rbファイルで

def get_json(view_path, view_action, object)
    path = view_path + '/' + view_action + ".json"
    return raw(render(path, object: object, :formats => [:rabl]))
end
4

4 に答える 4

2

次の手順でファイルをレンダリングできます。

render :file => "filename"
于 2012-07-09T15:12:20.543 に答える
1

やってみましたrender :template => "file_name"か?

于 2012-07-09T14:59:11.390 に答える
1

RABLのRailsCast#322から:

<div id="articles" data-articles="<%= render(template: "articles/index.json.rabl") %>" >

ここから始めて、何が悪いのかを理解してください。render template: pathしかし、それがあなたが望む構文であることは明らかです。

于 2012-07-09T17:21:39.970 に答える
0

OK試してみてください:

<%= render :file => 'views_directory/index' %>

views_directoryビューのディレクトリの名前はどこにありますか8)

年:

コンテンツが同じ場合:

render :partial => "index" 

index.json.rablのコンテンツと_index.json.rablのコンテンツ

于 2012-07-09T15:10:54.930 に答える