ایجاد middleware در rails

rails
ruby

#1

سلام خسته نباشید دوستان.
قصد ایجاد middleware داخل rails رو داشتم سرچ که کردم که فهمیدم به طور پیش فرض چنین قابلیتی وجود نداره داخل rails و باید middleware برای rack ایجاد که به نظر درست میاد .
منم یک پوشه داخل app درست کردم به اسم middleware و فایل خودم رو اونجا گذاشتم که محتویات فایلم به این شکله :
‍‍‍
class AuthMiddleware
def initialize(app)
@app = app
def call(env)
@req = Rack::Request.new(env)
status, headers, body = @app.call(env)
end
end

و بعد هم داخل /env/development این کلاس رو معرفی می کنم
حالا دو تا سوال ‍ ‍۱ - شما هم مشابه چنین کاری رو انجام می دید و شیوه من درسته ؟
۲ - مشکلی که دارم این هستش که محض کوچکترین تغییر در داخل این فایل خطای A copy of AuthMiddleware has been removed from the module tree but is still active! برمی گردونه و من مجبور وب سرویس رو ریست کنم تا درست بشه … فکر کنم یک طور کش می کنه کد ها رو … چطوری باید رفع کنم این مشکل رو ؟

  • خیلی سعی کردم نشد کد ها رو فرمت کنم کرش می کرد سایت … جلوتر پوزش می خوام

#2

Middleware فقط در زمان اجرا لود میشه و لازمه که سرور ریست بشه


#3

توماج جان پس راهی که رفتم برای ساخت middleware درست هست …آره ؟


#4

بنظر درست میاد، فقط در config باید بگی که ازش استفاده بشه و دلیل اینکه نیاز به ریست داری هم همینه، حدس میزنم از روش زیر استفاده کردی

Rails.application.config.middleware.use AuthMiddleware

#5

بله از همین روش استفاده کردم …