小编got*_*tva的帖子

(Rails):NoMethodError:BCrypt :: Engine:Class的未定义方法成本

当我学习"Ruby on Rails Tutorial"时,我想在控制台上创建一个User:

irb(main):001:0> User.create(name:"gsky",email:"k@q.com",
irb(main):002:1* password:"aaaaaa",password_confirmation:"aaaaaa")
Run Code Online (Sandbox Code Playgroud)

然后,我收到以下错误消息:

NoMethodError: undefined method cost' for BCrypt::Engine:Class
from D:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activemodel-4.
0.2/lib/active_model/secure_password.rb:104:inpassword='
from D:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activerecord-4
.0.2/lib/active_record/attribute_assignment.rb:42:in public_send'
Run Code Online (Sandbox Code Playgroud)

这是用户模型:

class User < ActiveRecord::Base

  before_save { self.email = email.downcase }

  validates :name,  presence: true, length: { maximum: 50 }

  VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i

  validates :email, presence: true,
                    format: { with: VALID_EMAIL_REGEX },
                    uniqueness: { case_sensitive: false }

   has_secure_password

   validates :password, length: { minimum: 6 }

end
Run Code Online (Sandbox Code Playgroud)

bcrypt-ruby ruby-on-rails-4

12
推荐指数
3
解决办法
6137
查看次数

尝试在 Rspec 3 中为模型存根链式方法

我对 Rspec 真的很陌生,并试图找到我的答案,但它一直指向我使用 stub_chain,但它似乎在 Rspec3 上已被弃用。我有以下我想存根:

active_automation = Client.automation_active_status.new_client
Run Code Online (Sandbox Code Playgroud)

其中 Client 是我的模型,automation_active_status是我的 Client 模型中的以下内容

scope :automation_active_status, -> { where(automation_status: true) }
Run Code Online (Sandbox Code Playgroud)

new_client 是我想调用以进一步过滤我的结果的属性

我试图实现 stub_chain 但这没有用。我的目标是使以下内容起作用:

Client.any_instance( black_box_I_can_not_figure_out ).returns[something]
Run Code Online (Sandbox Code Playgroud)

谢谢你。

rspec ruby-on-rails chaining

3
推荐指数
1
解决办法
151
查看次数

NoMethodError:在rails控制台中运行capybara测试时未定义的方法`color_enabled ='

NoMethodError: undefined method `color_enabled='  for #<RSpec::Core::Configuration:0x007ff1ba922ad0> 
from /Users/apple/.rvm/gems/ruby-2.0.0-p247@global/gems/rspec-console-0.2.7/lib/rspec-console/config_cache.rb:69:in `method_missing'
Run Code Online (Sandbox Code Playgroud)

我不知道怎么解决它〜

有什么建议吗?THX〜

rspec ruby-on-rails capybara

1
推荐指数
1
解决办法
1064
查看次数

对于#<ActiveRecord :: Relation []>,未定义的方法`call'

 def index
    @posts = Post.published

    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @posts }
      format.atom
    end
  end
Run Code Online (Sandbox Code Playgroud)

我正在接受这个错误.我是新的RoR任何人都可以帮助我.我现在能做什么?

ruby activerecord ruby-on-rails

1
推荐指数
1
解决办法
1668
查看次数