Rails / respond_toの中ではもう1度extendする必要がある?

自作クラスの中でモジュールをextendする。インスタンスメソッドとして使う。それは普通なんだけど、respond_to の中ではメソッドがないとエラーが出てしまった。とりあえずの対処法をメモ。

ruby
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
module MyModule
  def show_text
    puts "text from my module"
  end
end



class MyClass

  extend MyModule

  def cool_method
    respond_to do |format|
      format.js do
        # self.show_text  => no method
        # ブロックの中でもう一度読み込む
        extend MyModule
        self.show_text => "text from my module"
      end
  end

end


詳しく調べてないけど、とりあえず。
 

何かありましたらコメントをどうぞ

comments powered by Disqus

人気の記事

950 Points チリ出身のギタリストが弾くドラゴンボールZがむちゃくちゃかっこいい…
774 Points Wordpress + Heroku + PostgreSQL + Amazon S3 = ¥0 / 無料でサイト運営
700 Points Rubyのチートシート 変数 / クラス / モジュール
524 Points Rubyのチートシート / アクティブサポート
451 Points 紙のデザイナーがウェブ開発できるようになるまでに必要なこと
435 Points Rails / Google Analyticsのデータを使って分析や管理画面のためのグラフをつくる
323 Points RailsとHerokuでノーティフィケーションをプッシュする / PusherとTurbolinksの兼ね合い
222 Points Rails / RSpec テスト書いたことない メンドクサイ(n´Д`)という時のチートシート
193 Points Rails / Ajaxを使って画面遷移しない一時保存機能をつける
193 Points Protractorでスクレイピングしてみた