Значение параметра Rails возвращается как пустой int? - PullRequest
1 голос
/ 04 августа 2011

Это, наверное, глупый вопрос, но я слежу за видео-трансляцией о Rails, сейчас я работаю с контроллером 2 просмотра.У меня небольшая проблема с параметром.

Вид одного имеет что-то вроде этого:

<%= link_to("link", {:action => 'hello', :id => 1, :page => 11}) %>

Предполагается, что мой контроллер принимает параметры [: page], а затем анализирует их как int.(.to_i) затем возвращаем значение в виде переменной экземпляра, например:

@page = params[:page].to_i

Мой второй взгляд выглядит примерно так:

correct output: <%= params['page'].to_i + 1 %> <br>
// this works alright, but I'm not using the controller

controller output: <%= @page + 1 %> <br>
// this throws an exception, 'nil value' | this works in the videocast

incorrect output: <%= @page.to_i + 1 %> <br>
// @page.to_i returns a value of 0, so it's 1 total

Это глупо, но яне хочу начинать с левой ноги на этом.

Спасибо, Лео

PD: Я использую WEBrick, Ruby 192 и Rails 3 (в Windows).

1 Ответ

1 голос
/ 04 августа 2011

Вид странной ошибки, так как она работала для меня. Вы устанавливаете @page в своем домашнем действии? Единственный способ увидеть эту ошибку - это вызвать действие, которое отображает страницу, для которой не задана @page. Вы можете вставить свое домашнее действие?

...