Railsのコントローラから直接HTMLを返すには?
2023-11-11 17:41:55
質問
私のモデルオブジェクトの1つは、Webページの完全なHTMLを含む'text'カラムを持っています。
コントローラ上の他のアクションのように.erbテンプレートを介して渡すのではなく、単純にコントローラから直接このHTMLを返すコントローラアクションを書きたいと思います。
最初に考えたのは、このアクションを新しいコントローラに引き込み、空のレイアウトのカスタム.erbテンプレートを作成し、単に
<%= modelObject.htmlContent %>
をテンプレートに入れることでした。しかし、Railsでこれを行うより良い方法があるのではないかと思いました。
どのように解決するのですか?
コントローラで
respond_to
ブロックを使用することができます。
render :text => @model_object.html_content
または
render :inline => "<%= @model_object.html_content %>"
のような感じか。
def show
@model_object = ModelObject.find(params[:id])
respond_to do |format|
format.html { render :text => @model_object.html_content }
end
end
関連
-
[解決済み】bundle installが "Could not locate Gemfile "を返す。
-
[解決済み】gemのインストールができない - gemネイティブ拡張の構築に失敗 - そのようなファイルをロードできない -- mkmf (LoadError)
-
[解決済み] Rubyの文字列から日付への変換
-
[解決済み] Rubyのクラスで未初期化の定数エラーが発生する
-
[解決済み] Ruby on Rails の新規セットアップ : "Expected string default value for '--rc'; got false (boolean)".
-
[解決済み] Ruby on Railsのマイグレーションでデータベースのカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] Rails 4で懸念事項を使用する方法
-
[解決済み】Ruby on Railsでコンソールからコントローラ/ビューヘルパーメソッドを呼び出すにはどうすればよいですか?
-
[解決済み] Rails layouts per action?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Bundler: コマンドが見つからない
-
[解決済み】取得中。「プロジェクトのクローンとマイグレート後に、「マイグレーションは保留中です。この問題を解決するには 'bin/rake db:migrate RAILS_ENV=development' を実行してください。
-
[解決済み】Rails。Ruby on Railsの移行でデータベースカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] Ruby on Railsのランナー
-
[解決済み] DestroyとDeleteの違い
-
[解決済み] Herokuの問題 : あなたが探しているページは存在しません。
-
[解決済み] Railsです。gemを使った特定バージョンのライブラリのアンインストール
-
[解決済み] Devise Admin Roleの追加【終了しました
-
[解決済み] Railsコントローラからホスト名を取得する
-
[解決済み] 未初期化の定数 "コントローラ名"