[解決済み】Rails - コントローラの内部でヘルパーを使用する方法
2022-04-05 23:34:36
質問
ヘルパーはビューの中で使うものだと理解していますが、私はコントローラでJSONオブジェクトを作成し、それを返すためにヘルパーが必要です。
ちょっとだけ、こんな感じです。
def xxxxx
@comments = Array.new
@c_comments.each do |comment|
@comments << {
:id => comment.id,
:content => html_format(comment.content)
}
end
render :json => @comments
end
にアクセスするにはどうすればよいですか?
html_format
ヘルパーを使用することができます。
解決方法は?
注意事項 これはRails 2時代に書かれ、受け入れられたものです; 最近では キモオタの回答 がいいんじゃないでしょうか。
オプション1: おそらく最もシンプルな方法は、ヘルパーモジュールをコントローラにインクルードすることでしょう。
class MyController < ApplicationController
include MyHelper
def xxxx
@comments = []
Comment.find_each do |comment|
@comments << {:id => comment.id, :html => html_format(comment.content)}
end
end
end
オプション 2: あるいは、ヘルパーメソッドをクラス関数として宣言し、このように使用することもできます。
MyHelper.html_format(comment.content)
インスタンス関数とクラス関数の両方として使えるようにしたい場合は、ヘルパーで両方のバージョンを宣言します。
module MyHelper
def self.html_format(str)
process(str)
end
def html_format(str)
MyHelper.html_format(str)
end
end
これが役立つといいのですが
関連
-
[解決済み】TypeError: SymbolからIntegerへの暗黙の変換がない。
-
[解決済み] どのようにrailsでラジオボタンを正しく使用するには?
-
[解決済み] Ruby on Railsのデータベースをパージまたは再作成する
-
[解決済み] Ruby on Railsのマイグレーションでデータベースのカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] Rails 4で懸念事項を使用する方法
-
[解決済み] Ruby/RailsでHashからキーを削除して残りのHashを取得する方法は?
-
[解決済み] Rails DBの移行 - テーブルを削除するには?
-
[解決済み】Railsの認証トークンを理解する
-
[解決済み】Ruby on 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】なぜRuby on Railsは、http://localhost:3000 の代わりに http://0.0.0.0:3000 を使用するのですか?
-
[解決済み】コントローラでJSONをレンダリングする
-
[解決済み] Railsサーバーがポートはすでに使用されていると言う、そのプロセスを殺すにはどうすればよいですか?
-
[解決済み] rake db:migrateを使って1ステップだけロールバックする方法
-
[解決済み] DestroyとDeleteの違い
-
[解決済み] rails erb フォームヘルパー options_for_select :selected
-
[解決済み] Ruby: public static メソッドを作るには?
-
[解決済み] rails consoleを起動するとRailsのイニシャライザーが呼ばれる?
-
[解決済み] 構文エラー "構文エラー、予期しない入力終了、keyword_endを期待 (SyntaxError)"
-
[解決済み] Rails 4で、以前のバージョンのRailsでattr_accessibleを使用していた状況に遭遇した場合、Forbidden Attributes Errorが発生する。