Операторы в рубине на рельсах не опознаны - PullRequest
0 голосов
/ 31 декабря 2010

Я написал эту функцию:

  if params[:id] > @max
   @page = @max
    end

Здесь @max является целым числом, а значение params[:id] не nil.

Оно говорит, что естьпроблема в первой строке, и проблема:

неопределенный метод `> 'для nil: NilClass

Он не распознает > как оператор.Почему это так?

Ответы [ 2 ]

3 голосов
/ 31 декабря 2010

Да, params[:id] - это nil. Вот что означает эта ошибка. Возможно, вы хотели params['id'] вместо этого? Если у вас есть доступ к консоли для запущенного приложения, попробуйте p params, params[:id] и повторите запрос, чтобы увидеть, какие есть значения и значение params[:id].

.
0 голосов
/ 31 декабря 2010

Он не распознает его как оператора на NilClass, как он говорит. params[:id] должно быть ноль. Проверьте в ваших журналах Rails список параметров, входящих в запрос. Я предполагаю, что параметр назван не так, как вы думаете. Попробуйте if params[:id].present? && params[:id] > @max или params[:id].to_i > @max, чтобы обойти исключение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...