実際、これが私の問題です。MainController、HttpHelper、ServiceHelperを備えたRailsアプリがあります。
main_controller.rb
class MainController < ApplicationController
include ServiceHelper
def my_method
Service.make_stuff
end
end
service_helper.rb
module ServiceHelper
class Service
include HttpHelper
def self.make_stuff
http__foo
end
end
end
Service = ServiceHelper::Service
http_helper.rb
module HttpHelper
def http__foo
#stuff
params[:bar].nil?
end
end
すべてがうまくいく場合、このコードは:bar
パラメータが存在するかどうかを教えてくれるはずですが、問題があります。まず、このコードは機能しません。これは、サービス内が機能しないhttp__foo
ため、定義されていないことを示しています。include HttpHelper
私の2番目の問題は、インクルードが機能する場合、params
変数に問題がある可能性があることです。コントローラでこのメソッド(http__foo
)を呼び出すと問題ありませんが、サブクラスから呼び出すと、信頼できるかどうかわかりません。