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

Shunsuke Sawada

自作クラスの中でモジュールを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


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

Shunsuke Sawada

おすすめの記事

Railsを4.2にバージョンアップしたら、Vagrantのローカル開発環境にアクセスできなくなった問題
Railsのバリデーションエラー後にレイアウトが崩れるとき
acts-as-taggable-on タグを表示させる順番を決めたい