2014-12-02 8 views
1

users_controller.rbcancan의 load_and_authorize_resource에 사용자 정의 인스턴스 변수 이름이 있습니까? 'load_and_authorize_resource가'다음 호출되면

class UsersController < ApplicationController 
    def index 
    @objects = User.filter(params: params) 
    end 
end 

Q.1>는 어떤 경우 변수를로드?
Q.2> @user 또는 @users가로드되면 @object에로드하는 방법은 무엇입니까?

나는이 지식이 옳다는 것을 알기를 바란다. 나는 지난 4 일 이래로 cancan (나는 철자 초보자 다)을 이해하고 그것을 사용하는 데 충분한 지식이 부족하다고 생각한다.

답변

1

리소스가로드되지 않은 것이 도움이 될 것입니다, 또한

load_and_authorize_resource :custom_model_name 

사용할 수 있습니다. 이것은 특정 작업에 before_filter를 통해 행동을 무시하기가 쉽게 - 캉캉 https://github.com/ryanb/cancan/blob/master/lib/cancan/controller_additions.rb 라인 (34, 35)에서를, 그래서 당신은 컨트롤러에서 다음과 같이 할 수 -

before_filter :set_instance_variable 
load_and_authorize_resource 
private 
    def set_instance_variable 
    @object = "blah blah blah" 
    end 

load_and_authorize_resource이 예 변수, 즉 설정 한 후 호출해야

'before_filter : set_instance_variable'이후

+0

솔루션 고맙습니다. – codemilan