问题标签 [nomethoderror]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1544 浏览

ruby-on-rails - Ruby/Rails 忽略块内的 nil

这只是一个快速的问题。我在这里写了一个功能,它创建一个哈希,其中以开发人员名称作为键,他为他完成的每个功能得分的分数加在一起。但是我们确实有懒惰的开发人员不会将自己分配给任务,因此我们得到了以 nil 作为键的哈希值,我得到了 NoMethodError: undefined method `name' for nil:NilClass。什么是忽略零的干净方法?这是我的代码

提前致谢!:D

编辑:很酷,所以这是我运行它时得到的输出。您会注意到它通过具有已分配功能的 sprint 和那些为空的 sprint 进行渲染,但是一旦它进入带有未分配功能的散列,并以 nil 作为键,它就会出错。

然后是错误堆栈的其余部分

0 投票
4 回答
25992 浏览

ruby-on-rails - Rails 3.2 未定义方法“键?” 对于零:NilClass

出于某种原因,我在切换到 Rails 3.2 后开始出现此错误。我想这与我尝试重新安装的 acl9 插件有关,但没有任何改变。

我将插件移动到 lib/plugins 并将初始化程序添加到 config/initializers 但同样的错误。

我在 Github 上的 acl9 repo 中寻找解决方案,但在那里找不到任何东西。也许它毕竟不是acl9。

我安装了回形针、acl9、authlogic。

编辑(已解决):花了很长时间才弄清楚,我仍然不太确定发生了什么。我认为这与 acl9 对 Rails 3.1+ 的支持有关,但最后我从 github 获取了 acl9 代码,一切都突然开始工作了。

0 投票
4 回答
6738 浏览

ruby-on-rails - NoMethodError 未定义方法“字段”为 nil:NilClass

使用:Rails 3.1.1

我正在尝试在我的应用程序中创建一个搜索引擎,用于浏览大型数据库(大约 100 000 个项目)以进行字符串匹配。

我正在使用以下内容:

对于“蓝色”的搜索查询。

当我在 MySQL 中运行等效的搜索短语时,它工作正常,但是当我尝试在 rails 中运行它时,它显示:

线索和故障排除:

这只发生在大型搜索结果中,我无法区分一个数字,但是当它应该返回 920 个结果时它会崩溃,但在返回 6 个结果时它不会崩溃!

我对上面的结论是它不能将所有 920 个结果保存在内存中,或者存在某种类型的行使其崩溃,结果越多,它就越有可能包含该类型的行。我更倾向于第一个结论。

我无法很好地对其进行故障排除,因为当我尝试运行时它崩溃(具有相同的错误代码):

它还会崩溃:

但它不会崩溃:

那么,我有记忆类型的问题吗?我该怎么做才能进一步解决这个问题和/或解决问题?

使用:Mac OS X 10.7.2。Lion
数据库:InnoDB
适配器:Mysql2(不知道是哪个版本)

堆:

编辑 2012-03-06 其他故障排除:

  • 我试过了

    fp2 = FeededProduct.limit(60000)

创建一个非常大的命中数组,它工作得很好。所以我想这排除了我的猜测,即 fp 变量不能容纳一定数量的项目。

问题的核心似乎是,如果我使用:

之后我不能在应用程序崩溃的情况下将 fp 变量用于任何事情。

0 投票
1 回答
4982 浏览

ruby - Ruby/Metasploit NoMethodError 未定义方法“代码”

原谅我,Ruby 新手,其实这是我第一次接触 lang,所以对我温柔点好吗?

为 Metasploit 编写一个 mod,它将扫描系统或网络以查找文件 ScriptResource.axd 上的 302/500 错误,可用于进一步的攻击。

它启动,运行,然后崩溃并出现错误:

这是程序:

需要'rex/proto/http' 需要'msf/core'

类 Metasploit3 < Msf::Auxiliary

结尾

现在它指的是“res.code”。我看到了,但我的印象是 Metasploit 处理了 res.code。我在程序崩溃之前得到 res.code 输出这一事实是否证实了这一点?所以现在我不知所措......是的,我在这里查看了网站上的其他问题,但通常答案是它们没有定义。但是 Metasplot 定义了这个变量.. 所以...... ??

正如我所说,我是 Ruby 的新手,所以如果我能得到一个详细的答案,我将不胜感激。谢谢!

0 投票
1 回答
743 浏览

ruby-on-rails-3 - 运行成功的“创建”操作后出现 NoMethodError

我正在向我的 API 发送一个发布请求,它工作正常,它创建了一条新记录。但是,创建记录后,我在服务器日志中收到此错误

这是我的创建动作

我所有的资源都在 Api#V1 下命名,这是我的路由文件

0 投票
1 回答
88 浏览

ruby-on-rails-3.1 - Ruby Rack on Phusion NoMethod 表名错误

错误消息:# (NoMethodError) 异常类的未定义方法“AdminUser”:PhusionPassenger::UnknownError

AdminUser 是我数据库中的一个表。最糟糕的是,我什至从不使用该表或从我的代码中的任何地方调用它。我什至提到 AdminUser 的唯一地方是在我的 admin_user.rb 模型中 -

和 page.rb 模型

而在 section.rb 模型中

而已。还有 0 次提及 AdminUser - 这是我什至还没有开始在我的应用程序中使用的东西。在本地运行我的应用程序时我没有问题,但在 Ubuntu 上,使用Passenger 和 Apache2,Phusion 拒绝加载我的应用程序。

供参考(我对 RoR 和 Ubuntu(基于 Linux 的操作系统)相当陌生)-但是是的,我确实运行了 rake db:migrate,是的,我确实将 Passenger 作为 gem 安装,是的,我正在使用 mysql2 gem 连接到我的数据库. 当然,我确实在 ubuntu 上安装并启动了 mysql 服务。(此外,我确实创建了数据库、用户,并且 - 基本上 rake db:migrate 工作 100%)。

你能帮帮我吗,我失去了理智 - 已经有这个问题 2 天了 - 不知道去哪里找。

环境:Rails 3.2.2,Ruby 1.9.3-p125

0 投票
1 回答
6958 浏览

jquery - Backbone - 对象渲染没有“应用”方法

我收到错误消息:

对象渲染没有适用于以下代码的方法。

可能是什么原因?除了 javascript 的链接之外,html 页面不包含任何代码。
我应该怎么做才能消除错误?

0 投票
2 回答
1057 浏览

ruby-on-rails - Rails 3项目中未定义的方法“用户消息路径”

我正在尝试向我的帖子>索引页面添加一个链接,该页面允许人们向帖子的创建者发送直接消息(使用简单私人消息)。

目前我有一个指向 /messages/new 的链接来执行此操作,但这不起作用 - 当我尝试访问 /messages/new 时,我的应用程序中出现以下错误。

我想用更好的东西替换 /messages/new 的链接(在下面的 POSTS>INDEX 文件中)。如果您有任何想法,请告诉我!!

附加信息:应用程序本身就像 Gumtree.com,用户来这里创建帖子(例如卖我的车),人们会回复我向他们发送消息(通过 Simple Pvt Messages 插件)。

谢谢!

费萨尔

消息>新视图

消息模型

路线.RB

消息控制器

帖子>索引视图

0 投票
3 回答
6480 浏览

ruby-on-rails - 消息控制器中未定义的方法“stringify_keys”

当我尝试提交表单时出现以下错误(当 1 个用户想要向另一个用户发送消息时显示该表单)

这是消息控制器的相关代码:

我该如何解决?

更多支持代码如下:

消息>新视图(这是创建表单的地方)

消息模型

用户模型

POSTS>INDEX VIEW(这是表单链接到的地方)

开发日志

0 投票
1 回答
1288 浏览

ruby-1.9.3 - 用于docusign的未定义方法`gsub'...(NoMethodError)

通过github(git://github.com/felipec/soap4r.git)安装docusign gem和依赖soap4r gem后,我在尝试运行服务器时遇到了这个问题

我调查了

request_recipient_token_client_urls.rb

但只发现

回调 = instance_methods.select { |m| m =~ /^on/ }.reject { |m| m =~ /=/ }.map { |m| m.gsub(/^on/, '').underscore }

我不明白这里出了什么问题。我只能怀疑soap4r有问题,因为我必须通过与ruby 1.9兼容的github版本安装它