Rails参数值作为空int返回?

时间:2011-08-04 04:49:11

标签: ruby-on-rails instance-variables params

这可能是一个愚蠢的问题,但我正在关注关于Rails的视频广播,现在我正在与控制器一起工作2次观看。我对参数有一个小问题。

查看一个有这样的事情:

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

我的控制器应该使用params [: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 个答案:

答案 0 :(得分:1)

因为它对我有用而有点奇怪的错误。你在家庭行动中设置@page吗?只有这样我才能看到发生错误的是你正在调用一个动作来渲染一个没有设置@page的页面。你可以粘贴你的家庭活动吗?