我安装了一个faker gem (我确保它不在dev/test中!)。我想在视图上生成几个随机引号。我想把它放在欢迎/索引中。
在我的welcome_controller中,我有:
require 'faker'
class WelcomeController < ApplicationController
def index
@faker_array = []
5.times do |n|
@faker_array.push(Faker::HitchhikersGuideToTheGalaxy.quote)
end
end
我不知道我的代码发生了什么,什么时候发生的,但我遇到了类似的错误(而不是失败)
这一点:
NameError: uninitialized constant ActiveSupport::Callbacks::Callback::NORMAL
我的测试功能现在变得毫无用处了,因为我甚至放了这样的东西:
should "failed" do
assert false
end
它仍然返回通过,你知道吗?
谢谢
我正在尝试初始化一个常量,如果它不存在,如果一个常量已经存在,那么就使用它。我试了下并收到警告。
User = User || Struct.new(:name) #NameError: uninitialized constant User
User = Struct.new(:name) || User #works (1st time)
但是这个语句将被多次遇到,当这种情况发生时,我得到
User = Struct.new(:name) || User
#warning: already initialized constant User
#warning: previous def
我使用mysql db在rails中运行rspec。在我使用factoryGirl创建了一个对象之后,我想销毁它,这样db就可以在下一次运行规范时看起来干净了。下面是我在规范中的设置:
before (:each) do
User.destroy_all
@user = Factory.create :user
end
after (:each) do
@user.destroy
end
运行rspec时出错:
Failure/Error: @user.destroy_all
NameError:
uninitialized constant User::connectio
我正在使用Rails支架创建一个简单的模型,名为,其中包含电影的name、director、synopsis和poster。
我正在使用载波创业板上传海报图像。当我第一次启动rails服务器时,我会收到以下消息:
NameError in MoviesController#new
未初始化常量电影::PosterUploader
错误屏幕显示的提取源是我的models/movie.rb文件:
class Movie < ApplicationRecord
mount_uploader :poster, PosterUploader
end
这里是我的电影控制器:
class
我安装红矿山,我变得疯狂,因为一个耙的问题。特别是,为了执行不同Ruby插件的包安装,我被要求安装xapian-完全-alaveteli,v1.2.9.5。问题是,我得到了以下错误:
Building native extensions. This could take a while...
ERROR: Error installing xapian-full-alaveteli:
ERROR: Failed to build gem native extension.
/home/redmine/.rvm/rubies/ruby-2.2.0/bin/ruby -rubygems /h
当a未定义时,a || 1将抛出错误,但a = a || 1不会。这是不是有点不一致?
irb(main):001:0> a
NameError: undefined local variable or method 'a' for main:Object
from (irb):1
from c:/ruby/bin/irb:12:in '<main>'
irb(main):002:0> a || 1
NameError: undefined local variable or method 'a&
我在一个模块里写一个类
#lib/app/models/foo.rb
module App::Models
class Foo
def bar
true
end
end
end
当我试图运行它的规范时
#spec/lib/app/models/foo_spec.rb
require_relative '../../../../lib/app/models/foo'
describe App::Models::Foo do
end
我得到以下错误:
rspec spec/lib/app/models/foo_spec.rb
/Users/fr
我是ruby的初学者,我搜索了一下,如果有人问过类似的问题,但找不到任何人。所以我在这里问它。
我正在尝试ruby中的模块。
我创建了一个文件夹项目
在项目文件夹中,创建了一个类
class Project::One
include Project::Rest
end
在项目文件夹中,创建了一个模块Rest
module Project::Rest
def display
puts "in display"
end
end
但是当我尝试运行这个程序(ruby one.rb)时,我得到了
未初始化的常量项目(NameError)
请帮帮我
我有一个在本地系统上成功构建的应用程序,但是当部署到Heroku时,或者使用rails server -e production输出运行时:
=> Rails 4.0.0 application starting in production on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
Exiting
/home/nmradar/Documents/old-manager/app/controllers/registra
Ruby 1.8.7和1.9.2中也是如此:
$ irb
ruby-1.8.7-p302 > foo.nil?
NameError: undefined local variable or method `foo' for #<Object:0x3794c>
from (irb):1
ruby-1.8.7-p302 > @bar.nil?
=> true
ruby-1.8.7-p302 > @@wah.nil?
NameError: uninitialized class variable @@wah in Object
f
我在MRI 2.0和jruby 1.7.16.1中都看到了以下行为:
irb(main):001:0> a
NameError: undefined local variable or method `a' for main:Object
from (irb):1
from /usr/bin/irb:12:in `<main>'
irb(main):002:0> a = 2 unless true
=> nil
irb(main):003:0> a
=> nil
irb(main):004:0>
也许有一个简单的方法--我更想通过练习来学习。
我在设计用户后嵌套地址,同时将所有内容(用户除外)放在一个名为client的文件夹中,除了索引和显示操作/屏幕之外,它们似乎都能工作(新/创建),从而导致错误。
我试过很多不同的方法,包括让客户参与其中,但我不认为这是问题所在。
它所导致的错误(我是不是错过了一段直通式的关系?)NameError (未初始化常量用户::地址)
客户/地址
class Client::Address < ActiveRecord::Base
belongs_to :user
end
user.rb
class User < ActiveRecord
当我这样做的时候,我有一个问题:
namespace :xaaron do
task :get_roles do
roles = Xaaron::Role.all
puts roles
end
task :get_role, [:name] do |t, args|
role = Xaaron::Role.find(args[:name].parameterize)
puts role
end
end
第一项任务会很好。我甚至可以添加binding.pry并运行Xaaron::Role并获取有关角色的信息。但是第二个任务失败了:
NameE
这就是路线:
Rails.application.routes.draw.do
devise_for :users do
collection do
post 'batch_invite'
end
end
root 'welcome#index'
resources :rosters, only: [:index, :show]
end
我的名册管理员:
class RostersController < ApplicationController
def index
@rosters = Roster.all.order("crea
我遇到了一个关于instance_eval和模块包含的问题。
请查看以下代码:
module B
class C
def initialize
puts 'This is C'
end
end
def hello
puts 'hello'
end
end
class A
include B
def initialize(&block)
hello
C.new
instance_eval(&block)
end
end
A.new do
hello
为什么下面的代码没有抛出错误?
if false
x = 0
end
x #=> nil
而下面的代码会抛出一个错误:
y # NameError: undefined local variable or method `y' for main:Object
同样的事情也发生在unless和case语句中。