2016-09-19 3 views
0

私は名前空間のAPIと一致する通常のコントローラを持つRailsアプリケーションを持っています。Railsでは、モデル内から名前空間のAPIコントローラまたは通常のコントローラ経由でリクエストが送られたかどうかを、どのようにして知ることができますか?

両方のコントローラのセットは、もちろん同じモデルを使用します。たとえば、API :: CouponControllerとCouponControllerは両方ともCouponモデルを使用します。

まず、物事のウェブ側にフィーチャーを構築し、要求がAPIから来るのか、通常のコントローラーから来るのかを知るためにモデルにいくつかの条件付きロジックが必要であるため、モデルロジックを分岐できます。これどうやってするの?

または、コントローラのペアごとに異なるモデルを使用する方法がありますが、同じテーブルをポイントしていますか?

+0

あなたは正確にしたいが、何をしますか役に立つかもしれ例を列挙されていますか? –

答えて

-2

これを試してみて、私はそれが

app/controllers/api/coupon_controller.rb 

class Api::CouponController < Api::ApiController 
    def index 
    Coupon.test_method(params) 
    end 
end 

app/controllers/coupon_controller.rb 

class CouponController < ApplicationController 
    def index 
    Coupon.test_method(params) 
    end 
end 

app/models/coupon.rb 
class Coupon 
    def self.test_method(params) 
    return "You can check your controller and action using params" 
    end 
end 

チェックtest_methodのコントローラとアクションが

params[:controller] 
params[:action]