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
詳しく調べてないけど、とりあえず。