[解決済み] Railsで異なる形式のパーシャルをレンダリングするには?
2022-09-03 20:51:50
質問
HTMLを含むJSONレスポンスを生成しようとしています。 したがって、私は
/app/views/foo/bar.json.erb
:
{
someKey: 'some value',
someHTML: "<%= h render(:partial => '/foo/baz') -%>"
}
レンダリングしたい
/app/views/foo/_baz.html.erb
を表示させたいのですが、表示されるのは
/app/views/foo/_baz.json.erb
. 渡される
:format => 'html'
は役に立ちません。
どのように解決するのですか?
構築する roninek さんの回答 を基に、私は以下のような最適な解決策を見つけました。
を/app/helpers/application.rbに追加してください。
def with_format(format, &block)
old_format = @template_format
@template_format = format
result = block.call
@template_format = old_format
return result
end
/app/views/foo/bar.jsonの中にあります。
<% with_format('html') do %>
<%= h render(:partial => '/foo/baz') %>
<% end %>
別の解決策としては
render
を受け入れるために
:format
パラメータを受け取ります。
を取得することができませんでした。
render :file
をローカルで動作させることができず、また、パスの混乱もありませんでした。
関連
-
[解決済み】Rails: sudo "コマンドが認識されないのはなぜですか?
-
[解決済み】Rails 4 RoutingError: ルートが一致しない[POST]。
-
[解決済み] Rubyで変数をインクリメントする [重複]。
-
[解決済み] バリデーションなしで属性を更新する方法
-
[解決済み] どうすれば、文字列中のリテラルな中抜き文字を印刷し、また.formatを使用することができるのでしょうか?
-
[解決済み] Ruby on Railsのマイグレーションでデータベースのカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] Ruby on RailsでJSON出力を "きれい "にフォーマットする方法
-
[解決済み】Railsの認証トークンを理解する
-
[解決済み] Railsのレンダリングパーシャルをブロック化する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】警告:定数 ::Fixnum は非推奨 新しいモデルを生成するとき
-
[解決済み] どのようにrailsでラジオボタンを正しく使用するには?
-
[解決済み] 変更欄のRailsマイグレーション
-
[解決済み] Rubyで変数をインクリメントする [重複]。
-
[解決済み] PG::ConnectionBad - サーバーに接続できませんでした。接続が拒否されました。
-
[解決済み] Ruby:Rubyの配列にinclude.の反対はある?
-
[解決済み] RoRにおけるSpringサーバーの機能とは?
-
[解決済み] bundle install --without production は何をするのですか?
-
[解決済み] 属性を割り当てる場合、引数としてハッシュを渡す必要がある
-
[解決済み] Rails 4で、以前のバージョンのRailsでattr_accessibleを使用していた状況に遭遇した場合、Forbidden Attributes Errorが発生する。