如何根据散列中的值从数组中获取散列?

如何根据哈希值中的数组从数组中获取哈希? 在这种情况下,我想选择得分最低的哈希值,即potato 。 我使用Ruby 1.9。 [ { name: “tomato”, score: 9 }, { name: “potato”, score: 3 }, { name: “carrot”, score: 6 } ]

Ruby的OpenSSL :: Random的种子是否充足?

我对Ruby知之甚少,所以请原谅我,如果答案是显而易见的。 我在http://www.ruby-doc.org/stdlib-1.9.3/libdoc/securerandom/rdoc/SecureRandom.html注意到Ruby在调用random_bytes时使用pid和当前时间来播种OpenSSL :: Random是。 除非发生其他事情,否则这不是Netscape在90年代中期初始SSL实施中使用的种子吗? http://en.wikipedia.org/wiki/Random_number_generator_attack#Prominent_examples_of_random_number_generator_security_issues 当然,Ruby还没有复活一个18岁的小虫。 我在这里想念的是什么? 编辑:这是random_bytes的来源。 请注意第一次检查是否使用OpenSSL编译ruby,在这种情况下,它会使用pid和当前时间对其进行种子处理。 def self.random_bytes(n=nil) n = n ? n.to_int : 16 if defined? OpenSSL::Random @pid = 0 if !defined?(@pid) pid = $$ if @pid != pid now = Time.now ary = [now.to_i, now.nsec, @pid, pid] OpenSSL::Random.seed(ary.to_s) @pid = pid end return OpenSSL::Random.random_bytes(n) end if !defined?(@has_urandom) || @has_urandom […]

Rails:未定义的方法’paginates_per’

我正在将一个名为Carrier https://github.com/stanislaw/carrier/blob/master/Gemfile的gem安装到Rails 3.2.1应用程序中。 它使用Kaminari,当我在我的Gemfile中添加gem“carrier”后进行捆绑安装时,它显示我正在使用kaminari Using kaminari (0.13.0) 但是,当我尝试rake db:migrate时,我收到了这个错误 rake aborted undefined method `paginates_per’ for Carrier::Chain(Table doesn’t exist):Class 任何人都可以建议修复此问题吗? 我已经从下面的Carrier gem中复制了gemfile,并在下面复制了我自己的应用程序的Gemfile (Carrier gem Gemfile)源码“http://rubygems.org” gem ‘require_all’ gem ‘kaminari’ gem ‘unread’ gem ‘sugar-high’ gem ‘sweetloader’ group :development, :test do gem ‘rails’, ‘~> 3.1.0’ gem ‘unicorn’ gem ‘mysql2’ gem ‘devise’ gem ‘rake-kit’ gem ‘cutter’ gem “jeweler”, “>= […]

has_many通过复选框

鉴于以下型号 class Feed :destroy has_many :users , :through => :alerts end class Alert < ActiveRecord::Base belongs_to :user belongs_to :feed has_and_belongs_to_many :alerttypes end class Alerttype < ActiveRecord::Base has_and_belongs_to_many :alerts end 我可以创建一个表单来列出添加新Feed时的Alerttypes并正确提交。 但是,我无法成功更新这些Alerttypes。 我似乎无法找到定义复选框命名的正确方法 检查“已检查”的Alerttypes有效,但编辑时这些Alerttypes中的任何更改都不会更新,并且它们将保持为首次创建时的状态。

如何在rails app中使用twitter bootstrap和bootstrap-sass?

我对此很新,但我无法弄清楚问题。 在twitter bootstrap中我会使用: Column1 Column2 一切正常。 但我不想直接将spanX和spanY写入我的html文件,而是想提供有意义的类名,例如: First Column Second Column 鉴于事实,我正在使用https://github.com/thomas-mcdonald/bootstrap-sass ,我该如何编写我的scss文件? 我尝试了以下,但它不起作用(不显示两列): @import “bootstrap”; @import “bootstrap-responsive”; .user-container { @extend .row-fluid; } .user-filter { @extend .span2; } .user-list { @extend .span10; } 如果我看一下生成的代码,在我看来一切都应该没问题: /* line 164, ../../../../../.rvm/gems/ruby-1.9.3-p125/gems/bootstrap-sass-2.0.0/vendor/assets/stylesheets/bootstrap/_mixins.scss */ .span2, .user-filter { width: 140px; } 等等。 我究竟做错了什么? 更新: 好吧,只是为了清楚是什么问题 – 列被列为行(一个接一个),而不是真正的列(彼此相邻),例如: with bootstrap:Column1 Column2 使用我的自定义类: […]

如何使用rspec测试CLI的stdin

我正在制作一个小型的Ruby程序,无法弄清楚如何编写模拟多个用户命令行输入的RSpec规范(function本身可行)。 我认为这个StackOverflow的答案可能涵盖了最接近我的地方,但这并不是我需要的。 我使用Thor作为命令行界面,但我不认为这是Thor的任何问题。 程序可以从文件或命令行读取命令,并且我已经能够成功编写测试以读取执行它们。 这是一些代码: cli.rb class CLI ” while line = gets break if line =~ /EXIT/i yield [line] print “> ” end end end # .. end 我已经成功测试了使用以下代码执行文件中包含的命令: 投机/ cli_spec.rb describe CLI do let(:cli) { CLI.new } subject { cli } describe “executing instructions from a file” do let(:default_file) { “instructions.txt” } let(:output) […]

文件上传进度条与回形针上的回形针

我需要显示文件上传的进度条,我不知道。 任何帮助将不胜感激。 应用程序在Heroku上,文件在S3上

在尝试使用capistrano进行部署时,为什么会出现Psych错误?

我目前正在我的Rails 3.2.13应用程序中设置capistrano。 我收到以下错误/详细信息(包括“第1行第1列不允许使用控制字符”)。 我已经做了一些搜索,但没有看到任何与我有关的事情。 我正在使用rvm-capistrano和ruby 2.0.0-p195。 我最近将我的应用程序所需的环境变量移动到.bashrc中。 … * 2013-06-10 15:18:32 executing `deploy:assets:update_asset_mtimes’ * executing “[ -e /home/deployer/apps/super_rad_app/shared/assets/manifest* ] && cat /home/deployer/apps/super_rad_app/shared/assets/manifest* || echo” servers: [“107.20.249.163”] [107.20.249.163] executing command command finished in 6238ms *** [deploy:update_code] rolling back * executing “rm -rf /home/deployer/apps/super_rad_app/releases/20130610221258; true” servers: [“107.20.249.163”] [107.20.249.163] executing command ** [out :: 107.20.249.163] Using /home/deployer/.rvm/gems/ruby-2.0.0-p195 command […]

无法使用“关注”按钮与Acts_As_Follower一起使用

我正在使用我正在处理的心愿单应用中的Acts_as_follower。 我认为它应该工作,但实际上跟随另一个用户的按钮不是。 跟随按钮位于我的用户索引视图中,我可以在那里看到它,但它没有响应被点击。 任何帮助,将不胜感激。 这是我的代码: index.html.erb followers_controller.rb class FollowersController < ApplicationController before_action :authenticate_user! respond_to :js def create @user = User.find(params[:user_id]) current_user.follow(@user) end def destroy @user = User.find(params[:user_id]) current_user.stop_following(@user) end end users_controller.rb class UsersController < ApplicationController def show @user = User.find(params[:id]) @gifts = @user.gifts end def index @users = User.all if params[:search] @users = User.search(params[:search]).order("created_at DESC") […]

Formtastic与Mongoid embedded_in的关系

有没有快速的方法来为embeds_many-embedded_in关系制作表单? 我有以下内容: class Team include Mongoid::Document field :name, :type => String embeds_many :players end class Player include Mongoid::Document embedded_in :team, :inverse_of => :players field :name, :type => String end 我想为团队创建一个表格,为玩家提供嵌入式编辑。 在那里看到https://github.com/bowsersenior/formtastic_with_mongoid_tutorial但“TODO”。