モジュールがあります:
module ActionDispatch
module Routing
end
end
そして方法:
def add_movie_path
end
def edit_movie_path
end
このメソッドをルーティングするモジュールに追加するにはどうすればよいですか?
これが唯一の方法ですか?
モジュールがあります:
module ActionDispatch
module Routing
end
end
そして方法:
def add_movie_path
end
def edit_movie_path
end
このメソッドをルーティングするモジュールに追加するにはどうすればよいですか?
これが唯一の方法ですか?
試す:
module ActionDispatch
module Routing
def add_movie_path
end
def edit_movie_path
end
module_function :edit_movie_path
end
end
そのため、次のようなインスタンスメソッドのように呼び出しを行うことができます。
class Make
include ActionDispatch::Routing
end
class MakeAll
def only_needs_the_one_method
ActionDispatch::Routing.edit_movie_path
end
end
を使用してクラスメソッドとして定義し、次のself.class_name
ように直接アクセスすることもできます。
module ActionDispatch
module Routing
def self.add_movie_path
end
def self.edit_movie_path
end
end
end
class Make
include ActionDispatch::Routing
def do_something
ActionDispatch::Routing.add_movie_path
end
end
class MakeAll
def only_needs_the_one_method
ActionDispatch::Routing.edit_movie_path
end
end
詳細については、モジュールマジックを参照してください。
私があなたが何を求めているのか誤解しない限り、次のようなものはどうですか?
module ActionDispatch
module Routing
def add_movie_path
end
def edit_movie_path
end
end
end
または、を使用することもできますmodule_eval
。
モジュール内にメソッドを配置するだけです。
module ActionDispatch
module Routing
def add_movie_path
end
def edit_movie_path
end
end
end