поэтому у меня есть небольшая хитрая комбинация здесь
Company has many Users
User belongs to Company
Пользователь управляется для аутентификации с помощью devise
class User < ActiveRecord::Base
belongs_to :company
devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable
Вы можете войти в систему как пользователь и создать объекты, которые все принадлежатКомпания того, а не пользователя, например: Text
.(company.texts
)
Теперь я создал простой API, используя гем acts_as_api
.для этого мне просто нужно изменить свой текстовый контроллер, например, действие show.
class TextsController < ApplicationController
load_and_authorize_resource
def show
#@text = Text.find(params[:id])
respond_to do |format|
format.html
format.json { render_for_api :texts_all, :json => @text }
end
это прекрасно работает на веб-сайте.проблема в API.Я не хочу аутентифицироваться при доступе к API через модель пользователя.у компании есть атрибут с именем :hash
, который я хочу использовать для аутентификации в API.
Я понятия не имею, как добиться этого с помощью устройства (или любого другого метода).поэтому по умолчанию devise хочет, чтобы пользователь вошел в систему из-за load_and_authorize_resource
в моем контроллере, что хорошо для ответа html, но не для ответа json.
есть идеи?
спасибо зачитая это.пожалуйста, оставьте комментарий, если что-то неясно!