`
stinge
  • 浏览: 153743 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

rails小错误集锦 初学者可能遇到的错误

阅读更多

一、项目中使用了未安装的插件,

MissingSourceFile (no such file to load -- google_chart):
  app/controllers/home_page/home_controller.rb:4

 

    通过安装插件来解决

     gem install google_chart
 


二、调用方法的对象为空
NoMethodError (You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.each):
  app/controllers/search_controller.rb:49:in `index'

 

   这个是最常见的错误,根据错误信息可以知道,调用each方法的对象为空,只要检查each前的对象即可

nil.each


三、路径错误

   项目中不能找到与输入相匹配的路径,一般是手误或路径与routs中的不匹配

ActionController::RoutingError (No route matches "/albums" with {:method=>:get}):

 
四、模板错误


  与第二个类似,也是对象为空导致的。

ActionView::TemplateError (You have a nil object when you didn't expect it!
You might have expected an instance of ActiveRecord::Base.
The error occurred while evaluating nil.[]) on line #2 of app/views/layouts/home_page/_webinfo.html.erb:
1: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
2: <title><%= show_page_title(@page_title,@HomePageLink) %></title>
3: <meta name=GOOGLEBOT content="index,follow">
4: <meta name="robots" content="index,follow"> 
5: <%- unless @page_keyword==nil -%>

 


五、数据库,字段错误


   数据库中没有所用到的数据库的字段

ActiveRecord::UnknownAttributeError (unknown attribute: sell_id):
 



六、模板错误


程序中调用的click_number方法不存在,其实是数据库中没有这个字段
ActionView::TemplateError (undefined method `click_number' for #<Admin::Advertisement:0x662f218>) on line #14 of app/views/admin/manage_ad/_list_ads.html.erb:
11:       <td><%= ad.page_controller %></td>
12:       <td><%= ad.position %></td>
13:       <td><%= ad.url %></td>
14:       <td><%= ad.click_number %></td>
15:       <td><%= link_to "鍒犻櫎", {:action => :destroy, :id => ad}, :method => :delete, :confirm => "浣犵‘瀹氳鍒犻櫎杩欐潯骞垮憡涔堬紵" %></td>
16:       <td><%= link_to "缂栬緫", {:action => :edit, :id => ad} %></td>
17:     </tr>

 



七、运行错误


这也是一个常见错误,取id的值的对象为空

下面这个例子:

   控制器:

ad.user_id = Register::User.find_by_username(params[:user_username]).id
 

   当在用户表里查找用户失败时,查找的对象就为空,而这时空对象取得id值时出现下面的错误
RuntimeError (Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id):
  app/controllers/admin/manage_ad_controller.rb:30:in `create'
  C:/Ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
  C:/Ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
  C:/Ruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
  C:/Ruby/lib/ruby/1.8/webrick/server.rb:162:in `start'
  C:/Ruby/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
  C:/Ruby/lib/ruby/1.8/webrick/server.rb:95:in `start'
  C:/Ruby/lib/ruby/1.8/webrick/server.rb:92:in `each'
  C:/Ruby/lib/ruby/1.8/webrick/server.rb:92:in `start'
  C:/Ruby/lib/ruby/1.8/webrick/server.rb:23:in `start'
  C:/Ruby/lib/ruby/1.8/webrick/server.rb:82:in `start'

 
八、缺少end


  这种错误一般出现在模板里,使用控制语句或循环语句时忘记了end

ActionView::TemplateError (compile error
D:/cetcit/app/views/admin/data_stats/index.erb:30: syntax error, unexpected kENSURE, expecting kEND
D:/cetcit/app/views/admin/data_stats/index.erb:32: syntax error, unexpected $end, expecting kEND) on line #30 of app/views/admin/data_stats/index.erb:
 

九、关键字错误


  显示图片的关键字错误
ActionView::TemplateError (undefined method `images' for #<ActionView::Base:0xebbb88c>) on line #4 of app/views/admin/data_stats/index.erb:
1: <%#
2: # To change this template, choose Tools | Templates
3: # and open the template in the editor.
4: %>
5: <%=javascript_include_tag "admin/data_stat/jquery","admin/data_stat/jquery.ingrid","admin/data_stat/jquery.cookie"%>
6: <%= stylesheet_link_tag 'admin/data_stat/ingrid'%>
7: <%= images 'data_stat' %>

 

十、方法未知

ActionController::UnknownAction (No action responded to select_data(data). Actions: admin_role_required, hot_tags, index, select_data, sponsor_link, and user_role_required):
  C:/Ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
  C:/Ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
  C:/Ruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
  C:/Ruby/lib/ruby/1.8/webrick/server.rb:162:in `start'
  C:/Ruby/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
  C:/Ruby/lib/ruby/1.8/webrick/server.rb:95:in `start'
  C:/Ruby/lib/ruby/1.8/webrick/server.rb:92:in `each'
  C:/Ruby/lib/ruby/1.8/webrick/server.rb:92:in `start'
  C:/Ruby/lib/ruby/1.8/webrick/server.rb:23:in `start'
  C:/Ruby/lib/ruby/1.8/webrick/server.rb:82:in `start'
分享到:
评论

相关推荐

    rails 常见灵异错误汇总

    1. **路由错误**:Rails的路由系统是其强大功能的一部分,但也是许多初学者的痛点。当出现“未定义路由”错误时,检查`config/routes.rb`文件,确保已正确定义资源或路径。同时,别忘了在视图或控制器中使用`link_to...

    Rails 101 入门电子书

    《Rails 101 入门电子书》是一本非常适合初学者直接入门的书籍,它由xdite编写并出版于2014年6月10日。本书主要针对的是希望学习Ruby on Rails框架的读者,特别是那些想要从零开始掌握这项技术的新手。 #### 二、...

    使用Aptana+Rails开发Rails Web应用(中文)

    在开发Web应用时,Ruby on Rails(简称Rails)框架因其高效、简洁的代码风格和强大的社区支持而备受青睐。Aptana是一款强大的集成开发环境...无论是初学者还是经验丰富的开发者,Aptana+Rails都会是一个理想的选择。

    Rails 101S

    《Rails 101S》是一本为Ruby on Rails初学者准备的手册,旨在帮助新手快速入门并掌握基本的开发技能。本手册将从最基础的概念入手,逐步深入到实际项目的构建过程。 #### HelloWorld: 快速体验Ruby on Rails - **...

    rails2-sample

    本书旨在为初学者提供深入理解Ruby on Rails框架的指南,从基础概念到高级主题均有涵盖,是学习Ruby on Rails的理想选择。 ### 重要知识点概览 #### 1. Introducing Ruby on Rails(介绍Ruby on Rails) 这一章节...

    rails cookbook

    标签“源码”表明书中包含了大量的代码示例,这对于初学者理解和实践Rails的编程模式至关重要。而“工具”可能指的是书中介绍的一些用于Rails开发的辅助工具或插件,如数据库管理、测试框架、调试工具等。 在压缩...

    rails 项目起步示例

    本示例"rails项目起步示例"是一个购物系统,非常适合初学者入门学习。 在Rails项目中,我们首先需要了解的是项目的目录结构。一个标准的Rails应用会包含以下关键部分: 1. **app**:应用程序的核心,包括模型...

    Rails

    压缩包子文件的文件名称 "Ruby on Rails.pptx" 提示可能是一个关于Rails的PowerPoint演示文稿,其中可能涵盖了Rails的基础概念、安装步骤、主要组件介绍、开发流程、最佳实践,以及可能的示例代码和案例研究。...

    Rails recipes

    在Rails Recipes中,作者们不仅关注技术层面的问题,还考虑到了程序员在实际开发过程中可能遇到的理论和思想上的困惑。他们试图通过书中的内容,让读者在解决问题的同时,能够获得更深层次的理解,这样的学习方式...

    Ruby on Rails入门例子

    通过这个实例,初学者将了解Rails开发的基本流程,以及如何利用其特性快速构建功能完备的Web应用。Rails的"约定优于配置"(Convention over Configuration, CoC)原则和"DRY"(Don't Repeat Yourself)哲学,使得...

    Rails项目源代码

    Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...

    Rails101_by_rails4.0

    《Rails101_by_rails4.0》是一本专注于...对于希望学习Rails框架,尤其是希望学习Rails 4.0版本的开发者来说,这本书提供了全面而系统的知识体系,并结合实际的练习项目,帮助学习者逐步成长为一名合格的Rails开发者。

    Ruby for Rails

    Ruby for Rails 英文原版, pdf格式 &lt;br&gt;本书是一部专门为Rails实践而写的经典Ruby著作,由四部分组成,共17章... 本书适合于Ruby的初学者,也适合于想要进一步提高Ruby编程技能,开发实际Rails应用的Web程序员。

    Rails 4 Test Prescriptions

    - **初学者**:对于刚接触测试驱动开发的新手而言,《Rails 4 Test Prescriptions》是一个非常好的起点,它不仅提供了基础知识的全面覆盖,还能帮助初学者建立起正确的测试思维模式。 - **有经验的开发者**:即使...

    中文版rails教程

    Rails社区活跃,有许多优秀的资源可以帮助初学者快速上手。 总的来说,Ruby on Rails是一个强大的开发工具,它简化了Web应用的构建过程,让开发者可以更专注于创新和解决问题,而不是琐碎的配置和代码复写。通过...

    Ruby on Rails安装指南(Ruby 1.8.6+Rails 2.0.2)

    Ruby on Rails的安装虽然步骤繁多,但按照本文的指南逐一进行,即使是初学者也能顺利完成安装。在掌握了Ruby、Rails和Mongrel等关键组件的安装方法之后,你就能够开始探索Ruby on Rails的无限可能,开发出响应迅速、...

    Rails 学习资料

    标题“Rails学习资料”表明这是一份关于Rails框架的学习资源,可能包含教程、示例代码、最佳实践等内容,适合初学者和有一定经验的开发者。描述中的“仅仅三分,就可以帮助你搭好框架”,暗示这份资料可能包含快速...

Global site tag (gtag.js) - Google Analytics