У меня есть ситуация, когда мне нужно запретить пользователям явно вызывать say / town / addBuilding.Город - это мой контроллер, а addBuilding - это действие, которое выполняется.
Теперь дело в том, что это действие должно выполняться только в коде моей программы, а не пользователем, запрашивающим его выполнение.Более того, это действие выполняется как обратный вызов.В моем application_controller, когда выполняется какое-то условие, запускается действие контроллера и происходит перенаправление.В php достаточно простого охранника, такого как определение и проверка защиты.Есть ли эквивалентная вещь в рельсах, и если да, то каков наилучший способ ее реализации?
Спасибо за чтение, и я ценю вашу помощь :)чтобы было понятнее, обратите внимание на то, что / town / addBuilding был примером, имена контроллеров и действия ниже названы по-разному.
Теперь, это фактический код контроллера приложения, это часть браузерной игры,Я кодирую.
def checkQuest
if TavernQuest.hasQuest(current_user)
quest = TavernQuest.getQuest(current_user)
if quest.end_time < Time.now # get quest info and check if the quest has been completed
TavernQuest.deleteQuest(current_user)
redirect_to :controller => 'tavern', :action => 'monsterAttack'
end
end
end
Действие контроллера таверны - это просто простой код, который я хочу выполнить, но только если перенаправление происходит внутри контроллера приложения.