来自控制器中表单的错误值

时间:2012-12-11 13:18:48

标签: ruby-on-rails forms view controller null

这是一个愚蠢的问题,但即使经过一些研究,我无法解决这个问题。 我在我的一个视图中有一个表单,允许我从访问者那里获得一个值。 我正试图在我的控制器中以表格形式提交该值。我不明白 为什么但似乎我用这个代码得到的唯一值是0 .. 我想我没有使用正确的synthax。 以下是我的代码:

.mybox
            %p Tentative de vote.
            = @useful_tool.nbofrate
            = @useful_tool.nbtotal
            = @useful_tool.newrate
            = form_for(@useful_tool) do |f|
              = f.select :newrate, [['1 étoile', 1],['2 étoiles', 2],['3 étoiles', 3],['4 étoiles', 4],['5 étoiles', 5]]
              = f.submit

这是我控制器的代码:

  def update
    @useful_tool = UsefulTool.find_by_slug!(params[:id])
    @useful_tool.nbofrate = @useful_tool.nbofrate + 1
    value = params[:newrate]
    @useful_tool.nbtotal += value.to_i
    @useful_tool.rating = @useful_tool.nbtotal / @useful_tool.nbofrate
    update! { url_for(action: "index") }
  end

因为显然值必须为零我不明白为什么。 任何帮助都是非常令人难以置信的。非常感谢。

1 个答案:

答案 0 :(得分:2)

尝试将to_s.to_d与nbtotal和value一起使用。

或者您可以明确检查nil