Вопрос

Я прочитал статью здесь и я использовал найденные там принципы, чтобы написать административную проверку для своих контроллеров.По сути, он проверяет, в каком контроллере вы находитесь, а затем я создаю массив, говорящий, может ли этот человек получить разрешение на просмотр этого контроллера, чем найти, передать его.

Автор статьи сказал, что читателям не следует использовать пример кода, поскольку он несовершенен, и что им следует использовать его плагин (который, конечно, уже устарел).И сказал он

«Есть некоторые проблемы с приведенным выше кодом при работе в производственном режиме из-за использования переменных класса и кэширования классов».

У меня произошел сбой теста, и я думаю, что это может быть из-за этого, но я не совсем уверен, какую часть кода мне не следует использовать.У меня было следующее (в application.rb):

 controller = params[:controller]
 action = params[:action]

Но я изменил это на:

controller = self.class.name
action = params[:action]

Как правильно получить доступ к имени действия?И вообще, что вы можете делать в режиме разработки, чего нельзя делать в режиме производства?

Это было полезно?

Решение

Рассматривали ли вы вместо этого плагин разрешений на основе ролей?См. следующий вопрос stackoverflow:

Какой плагин Rails лучше всего подходит для разрешений на основе ролей?(Пожалуйста, укажите одну номинацию на каждый ответ)

Мне не известно о каких-либо проблемах с использованием вставленного вами кода в рабочей среде.Рассматриваемый плагин может иметь некоторые проблемы из-за возможного неправильного использования @@, однако я не проверял его тщательно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top