如何仅从哈希中调用键或值?在以下示例中,我如何获取要返回的代码
猫是懒惰的
狗很有趣
河马很大
任何的想法??
['cat' => 'lazy', 'dog' => 'fun', 'hippo' => 'big'].each do |animal|
template = ERB.new "#{animal}'s are #{animal}"
puts template.result(binding)
end
Run Code Online (Sandbox Code Playgroud) 我有两个数组one = [1,2,3,4,5,6,7]
和two = [{1=>'10'},{3=>'22'},{7=>'40'}]
两个将有one.length
哈希或更少.如果它的键出现在一个中,我想要一个新的值数组,如果没有,那么使用0.新数组将是[10,0,22,0,0,0,40]
什么是最好的方法呢?
factory_girl
和factory_girl_rails
Ruby Gems 有区别吗?我有一个反复出现的问题,RSpec测试中出现错误:"未初始化的常量FactoryGirl(NameError)".
有人告诉我,两者之间存在差异(这实在令人困惑),而另一方需要另一方工作或沿着这些方向发展?
我的spec_helper文件包含:
require 'factory_girl'
require 'factory_girl_rails'
Run Code Online (Sandbox Code Playgroud)
我的Gemfile有:
gem 'factory_girl_rails'
Run Code Online (Sandbox Code Playgroud)
这是完整的错误:
uninitialized constant FactoryGirl (NameError)
from /srv/homes/rvm/gems/ruby-2.0.0-p247@global/gems/rspec-core-2.14.7/lib/rspec/core/configuration.rb:896:in `load'
from /srv/homes/rvm/gems/ruby-2.0.0-p247@global/gems/rspec-core-2.14.7/lib/rspec/core/configuration.rb:896:in `block in load_spec_files'
from /srv/homes/rvm/gems/ruby-2.0.0-p247@global/gems/rspec-core-2.14.7/lib/rspec/core/configuration.rb:896:in `each'
from /srv/homes/rvm/gems/ruby-2.0.0-p247@global/gems/rspec-core-2.14.7/lib/rspec/core/configuration.rb:896:in `load_spec_files'
from /srv/homes/rvm/gems/ruby-2.0.0-p247@global/gems/rspec-core-2.14.7/lib/rspec/core/command_line.rb:22:in `run'
from /srv/homes/rvm/gems/ruby-2.0.0-p247@global/gems/rspec-core-2.14.7/lib/rspec/core/runner.rb:80:in `run'
from /srv/homes/rvm/gems/ruby-2.0.0-p247@global/gems/rspec-core-2.14.7/lib/rspec/core/runner.rb:17:in `block in autorun'
****@epi-stu-hut-shell3:~/projects/project4/spec/factories$
Run Code Online (Sandbox Code Playgroud) 我在这个问题上找不到其他答案对我有帮助.
我有一个条款和条件框,并想验证它是否在创建时进行了检查.
在我的模型中:
validates :terms_and_conditions, :on => :create, acceptance: true, :allow_nil => false
Run Code Online (Sandbox Code Playgroud)
在我看来:
<%= f.check_box(:terms_and_conditions )%>
Run Code Online (Sandbox Code Playgroud)
无论是否check_box
检查,它总是失败.我认为它实际上从未设置过该字段,问题在我看来,但我找不到它.
提交表单时记录.
Processing by Users::RegistrationsController#create as HTML
Parameters: {"utf8"=>"?", "authenticity_token"=>"xNNmGTWSV4hkj0rrlZeOq+AiTlJ9sc9+cAT1Sy0bjhc=", "user"=>{"email"=>"sdasdr@gmail.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]", "name"=>"", "surname"=>"", "country_id"=>"", "language"=>"", "description"=>"", "register_as_company"=>"1", "terms_and_conditions"=>"1"}, "commit"=>"Sign up"}
Unpermitted parameters: name, surname, country_id, language, description, register_as_company, terms_and_conditions
[1m[35m (0.1ms)[0m begin transaction
[1m[36mUser Exists (0.3ms)[0m [1mSELECT 1 AS one FROM "users" WHERE "users"."email" = 'sdasdr@gmail.com' LIMIT 1[0m
[1m[35m (0.1ms)[0m rollback transaction
[1m[36mCountry Load (0.2ms)[0m [1mSELECT "countries".* FROM "countries"[0m …
Run Code Online (Sandbox Code Playgroud)