2016-09-19 1 views
0

У меня есть приложение Rails с API с именами и регулярными контроллерами, которые соответствуют.В Rails, как я могу сказать, изнутри модели, пришел ли запрос с помощью контроллера API или обычного контроллера?

Оба набора контроллеров, конечно, используют те же модели. Например, API :: CouponController и CouponController используют модель купона.

Мы сначала создаем функции в веб-части вещей и должны иметь условную логику в модели, чтобы определить, поступает ли запрос от 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] 
Смежные вопросы