2016-09-19 1 views
0

이름 공간이있는 API와 일치하는 일반 컨트롤러가있는 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] 
관련 문제