2013-01-17 5 views
1

내가 rabl 보석고정 RABL 보석 (루비 레일에)

show.rabl

object @user 
attributes :id, :name, :realname, :email 

을 사용하고 그리고 난

{"user":{"id":1,"name":"username","email":"[email protected]"}} 

문제를 얻을 누구나 볼 수 있다는 것입니다 이 정보가 열리는 경우 http://website.com/users/user.json 링크

내 데이터베이스에서 각 사용자 af ter 로깅에는 고유 한 auth_token 필드가 있습니다.

질문이다 - 나는 단지이 링크와 함께이 정보를보고 싶어 - http://website.com/users/user.json?auth_token=yLrUAxWB2szkvx9jBEGv

답변

1

수표를 만들거나 cancan 같은 일부 인증 보석과 함께 작동합니다.

당신이 이해를 얻을 수 있도록

원시 예 (검증되지 않은 ... 전화를 쓴) :

class MyController < ApplicationController 
    before_filter :check_token_if_json 
    respond_to :html, :json 

    def show 
    @user = User.find params[:id] 

    respond_with(@user) 
    end 

    private 

    def check_token_if_json 
    if params[:format] == 'json' 
     raise "Access denied" and return unless params[:token] == 'my_required_token' 
    end 
end