问题标签 [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 投票
4 回答
630 浏览

ruby - MacRuby,使用 Sequel 时出错

我刚刚使用命令安装了Sequelsudo macgem install sequel。它告诉我 sequel-3.18.0 已成功安装。

当我启动 xcode 并启动一个新的MacRuby应用程序时,它会为单元测试设置一个目标。我已经修改stub_test.rb了以下两行:

尝试运行单元测试时,出现以下错误:

没有这两个require语句,测试运行良好。

我试图用谷歌搜索,并在 macruby.org 上找到了以下票

Ticket #930 SIGABRT in MacRuby 0.7 with Sequel + SQLite3-Ruby gem [...] 修复 Sequel 中的 Kernel#require 问题后,我可以毫无问题地加载 Sequel 和 SQLite3。[...] 所需的库是 Sequel(为 Kernel.require 打补丁,而不是 Sequel#self.require 中的 super)和 SQLite3-Ruby。[...]

我在其他任何地方都找不到有关此补丁的任何信息,但是...

有什么已知问题吗?此错误消息是什么意思,以及如何使其工作?

0 投票
1 回答
142 浏览

ruby-on-rails-3 - 为什么不调用该方法——jRuby Rails3

我有这个Java类

正如这里提到的,我已经执行了这些步骤

但是我仍然无法使用 访问getName()rails 3 中NoMethodError的方法,但该方法在 jRuby 中是可访问的。

0 投票
1 回答
781 浏览

ruby-on-rails - fbgraph:未定义的方法`encode_json'为真:TrueClass

我的代码:

我去了/oauth/start/并成功登录并允许我的应用程序。之后,Facebook 将我重定向回我的应用程序,这给出了以下错误:

OauthController#callback 中的 NoMethodError

我们都讨厌错误,我也是。我该如何解决这个问题?谢谢。

0 投票
2 回答
2172 浏览

ruby-on-rails - Rspec 错误:end.should 更改的未定义方法“更改”(模型,:计数)

这是完成 Ruby on Rails 教程后的后续内容。

我花了很长时间尝试混合和匹配宝石以找到解决方案,因为我真的不知道 Rspec 是如何在识别“变化”时遇到困难的。

错误:/spec/requests/athletes_spec.rb:20:in':未定义方法中的块(3级)change' for #<Class:0x00000100e715e8> (NoMethodError)

我喜欢 TDD 的概念,但似乎有一半的时间我试图让测试环境正常工作。谁能告诉我哪里出错了?

进一步编辑:

这是我的 Gemfile:

0 投票
2 回答
276 浏览

ruby-on-rails - Rails 错误“NoMethodError” - 刚开始使用 Rails

希望这是一个非常容易解决的问题,因为我刚开始使用 Rails。

我有一个数据库(产品),其中包含许多产品属性,包括品牌、颜色和产品类型。

我目前有一个索引页面(在 productfinder 目录中),它能够提供数据库中产品的摘要。我在 index.html.erb 中使用以下代码:

在 productfinder_controller.rb 我有:

到目前为止,一切似乎都在正常工作

现在我想在我的索引页面上添加 3 个按钮,这些按钮将使用户能够重新计算产品子集的 distinctbrands 和 distinctcolours - 匹配 product_type = "new" 或 "used"。第三个按钮将对应于根本没有被过滤的结果(即最初加载索引页面时)。

在上一个问题中,我被建议添加以下代码:在 productfinder_controller 中:

在 Product.rb 中:

在 index.html.erb 中

现在运行应用程序时,我得到一个 NoMethodError - ProductFinder#Index(尝试执行 nil.each 时,该错误与 <% @distinctbrands.each do |distinctbrand| %> 相关联

我想知道问题是否出在定义 @distinctbrands 和 @distinctcolours 的函数上,因为现在已经过滤了数据库,但是对于以下两种情况,我都会遇到相同的错误:

请问有人可以为我提供一个可能的解决方案吗?问题是否与 @products 未在 def 索引中定义有关?如果是这样,如何做到这一点?

非常感谢您的时间

0 投票
1 回答
721 浏览

ruby-on-rails - rails中的一对多嵌套属性

这不是一个问题,但希望有人可以从中受益。

当您尝试创建或修改一对多嵌套关联时,请确保您正在传递一个数组。如果你得到

NoMethodError(未定义的方法 `[]' for...

并且您正在使用一对多的嵌套关联,这可能是您的问题。在搜索此错误时,我没有找到对此的解释,因此也许这将有助于加快其他人的开发。

例如,我有一个 Person 模型

为了创建一个新人和关联的 person_image,我执行以下操作。

注意 {:image=>person_image} 周围的 []。如果你有一对多,你必须有这个。因此以下内容不起作用并产生未定义的方法“[]”错误。

另外,在我看来,我必须像这样命名我的输入

如果没有 [0],它就无法工作。

我是 Rails 的新手。我希望这对其他初学者有所帮助,如果有人有更好的解释或更有效的方法来做到这一点,我将不胜感激您的评论。

有关详细信息,请参阅Rails API 上的嵌套属性

0 投票
2 回答
7640 浏览

ruby-on-rails - NoMethodError,nil 的未定义方法“名称”:NilClass -rails 3

我在 SitesController#index undefined method `subdomain' for nil:NilClass 中得到 NoMethodError

我有一个 Accounts 表,其中有一个“子域”字段和一个 Site 模型,它是 Account Model 的子类,即:

结尾

并且在 applications_controller 中定义了一个 current_account 方法,如下所示

结尾

哪个调用 is_root_domain?下面的方法:

结尾

我还将 current_account 方法更改为此但得到了同样的错误:

在上述任何一种情况下,我都会在 SitesController#index 上得到 nil:NilClass 错误的未定义方法“子域”。在尝试访问 url 时如下所示:

结尾

我已经尝试了各种我所知道的与无方法错误作斗争的技巧,比如添加“attr_ccessible”和一个初始化方法,但似乎没有任何效果。我还将帐户表字段从“子域”更改为“名称”,但没有成功。任何指南将不胜感激。

0 投票
2 回答
3788 浏览

ruby-on-rails - Rails:错误“NoMethodError: undefined method `<' for nil:NilClass”,缺少一些宝石?

这是模型类类 Item::Item < ActiveRecord::Base validates_presence_of :start_date, :end_date, :product_id validate :validate_start_and_end_date

这是rails控制台的日志

0 投票
1 回答
505 浏览

ruby - Ruby 1.8.7 中的 NoMethodError

我已经开始开发一个名为 Shapado (http://shapado.com) 的应用程序,该应用程序在 Ruby 上运行,后台有一个 mongo 数据库。当我尝试向数据库添加一些数据时出现以下错误。我附上了我认为可能是来源的所有相关文件。

错误

QuestionsController.rb 中的 tags_for_autocomplete 方法

/var/lib/gems/1.8/gems/mongo_mapper-0.8.6/lib/mongo_mapper/plugins/associations/proxy.rb:109

0 投票
0 回答
688 浏览

ruby - /user/profile 处的 NoMethodError - nil:NilClass 的未定义方法“更新” - 使用 DataMapper 的 Sinatra 应用程序

您好,我在使用 Sinatra 应用程序时遇到旋转错误。我正在使用 DataMapper 1.1 和 Ruby 1.9.2-p136。在在这里寻求帮助之前,我已经筋疲力尽地进行了搜索和黑客攻击。

我质疑/尝试过的事情:如果 DataMapper #update 不创建新记录(如果不存在),如何创建新用户?所以我尝试了 first_or_create 并没有解决问题。这是我添加了除非创建。我已经调试了 3 天,我绝对愿意进行重构。事实上,我肯定会进行重构,但我想先解决这个问题,以便从错误中吸取教训。具体来说,我不想使用“除非”代码,而且我觉得有更好的方法来编写 /after_login 部分。

我一直在 irc #datamapper #sinatra #ruby 上露营——尽管有很多尝试,但还没有运气。

最后,原始代码与 DataMapper 0.9 一起使用,这让我认为这是一个 DM 问题,但我认为现在情​​况可能并非如此。

任何帮助是极大的赞赏!

要点:

git://gist.github.com/897342.git -- ruby​​ app 文件 -- 添加了unless create(感觉这个有很多问题)

git://gist.github.com/895532.git -- ruby​​ 应用程序文件 -- 在被黑之前尝试添加创建调用

git://gist.github.com/895394.git -- user.rb 文件

git://gist.github.com/895391.git -- 错误回溯

=== 更新:经过数小时的代码争论,以及来自 irc 组 #datamapper #sinatra 和 #ruby 的巨大帮助!感谢所有帮助,尤其是 Dkubb!我很高兴地报告我已经清除了 NoMethodErrors,现在正在处理其他一些问题,主要是知道我的所有代码到底在做什么,更忠实的测试,以及一般的整体重构。

我会继续更新这个给有兴趣的人。

一般的解决方法是将我的方法和类分开,这样我就知道调用了什么、为什么以及如何调用。特别是@user 引起了很多问题。所以 Sinatra 的错误是真实的。;-)