2016-08-23 2 views
0
Rails 3.2 

저는 API gem을 사용하고 있습니다. 클라이언트가 원하는 것은 테이블에 phpMyAdmin을 통해서만 액세스 할 수있는 별도의 테이블에서 API에 액세스하는 데 사용할 수있는 전자 메일 주소를 허용하려는 테이블을 유지하는 것입니다.레일 애플리케이션에서 외부 테이블에 액세스하기

api_users 

단일 컬럼 : (아이디, created_at, updated_at에 추가) 이메일

이 표에 갈 것 이메일 주소도 존재

이 하나의 테이블이 될 것입니다 rails 응용 프로그램의 users 테이블에 있습니다. 모델/api_user.rb을 : 나는 모델을 만드는 경우

class ApiUser< ActiveRecord::Base 
    attr_accessible :email 

그리고, 내 모델/api_ability.rb에, 나는 다음과 같은 추가 :

class ApiAbility 
    include CanCan::Ability 

    def initialize(user, params = {}) 
    user ||= User.new 
    if ApiUser.find_by_email(user.email) 
     can :manage, :api 
    end 
    end 

end 

윌이 작품?

답변

1

그건 절대적으로 들리 네요. 당신은 아무도 레일 내에서의 인스턴스를 만들려고하지 않습니다 확인하기 위해 ApiUser 클래스에

def readonly? 
    true 
end 

같은 것을 추가 할 수 있습니다. 그러나 그것과 별개로 나는 클라이언트 요구 사항이 주어지면 그렇게하지 않는 이유를 보지 못합니다.

+0

readonly 메서드는 어떻게 호출 될까요? – EastsideDeveloper

+0

실제로'readonly '라고 불리우며'기존 방법'(https://github.com/rails/rails/blob/46f511685c91486295a418547bb08c2aa5e49cfc/activerecord/lib/active_record/core.rb#L483)을' 액티브 레코드 :: 코어' –

관련 문제