2010-02-24 4 views
1

Я использую Single маркер доступа, чтобы сделать некоторые передачи данных, до сих пор я получил его на работу с одним действием в контроллере черезauthlogic одного маркера доступа

ProjectsController

private 

def single_access_allowed? 
    action_name == 'index' 
end 

Но мне нужно еще два действия, которым должен быть разрешен доступ с токеном доступа, я попытался изменить строку action_name == 'index' на action_name == ['index', 'update', 'destroy'], но безрезультатно. Я попытался найти single_access_allowed? определение во всех файлах в каталоге gem authlogic, но в нем не указано, какой переменной является имя action_name, например массив, hash, string?

Любая помощь будет замечательной!

Спасибо!

ответ

1

action_name - это строка. Вы хотите проверить, находится ли action_name в списке действий (массив строк). Для этого в рубине:

def single_access_allowed? 
    ["index","update","destroy"].include?(action_name) 
end 
+0

О, я вижу, оператор '==' возвращает значение true/false, поэтому он был «action_name ==» index », спасибо! –

Смежные вопросы