红宝石在轨道上未定义的方法错误^

问题描述

| 我是第一次尝试使用Rails,但我不断收到此未定义的方法错误。到目前为止,我所做的只是使用rails创建一个新项目,使用脚手架创建我的数据库表test。应用rate命令后,一切正常,但是当我在Web浏览器中运行它时,出现此错误:
ActionView::TemplateError (undefined method `^\' for \"7\":String) on line #3 of app/views/tests/new.html.erb:
1: <h1>New test</h1>
2: 
3: <% form_for(@test) do |f| %>
4:   <%= f.error_messages %>
5: 
6:   <p>
对我如何处理此错误有任何想法的人吗? 编辑:- 控制器中的“新”操作:-
def new
  @test = Test.new 
  respond_to do |format| 
     format.html # new.html.erb 
     format.xml { render :xml => @test } 
  end
end
    

解决方法

        错误消息抱怨,因为Rails尝试在字符串“ 7”上使用the2ѭ运算符,该运算符不支持该操作(数字7将支持该操作)。回溯中指示的行是
form_for(@test)
,因此
form_for
@test
做些操作,从而导致
^
7
上被调用。造成这种情况的最可能的原因是,Rails尝试在某处对
@test
的ID进行异或运算,而
@test.id
意外返回字符串
\"7\"
而不是数字
7
。 换句话说,您可能将
tests
表设置为具有带字符串类型而不是整数的id列,Rails不喜欢这种类型。     ,        我的猜测是您为something5ѭ分配了不是模型对象的东西。请从您的控制器发布
new
方法的代码,以便我们进一步深入研究。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...