是否可以使用活动记录为表定义复合主键?

我在没有rails的ruby项目中使用ActiveRecord。 我需要为表定义复合主键。通常,迁移会自动创建主键。 是否可以使用活动记录为表定义自己的复合主键?

未定义的方法`session_path’

我正在使用Rails + Devise + OmniAuth + Google OAuth2。 我的用户模型(user.rb)包含: devise :registerable, :omniauthable, :omniauth_providers => [:google_oauth2] 我的routes.rb看起来像: Rails.application.routes.draw do devise_for :users, controllers: { omniauth_callbacks: ‘omniauth_callbacks’ } devise_scope :user do get ‘sign_in’, :to => ‘devise/sessions#new’, :as => :new_user_session post ‘sign_in’, :to => ‘devise/session#create’, :as => :user_session get ‘sign_out’, :to => ‘devise/sessions#destroy’, :as => :destroy_user_session end get ‘services’, […]

某种Ruby“中断”

所以这就是我正在做的事情 – 我有一个ruby脚本,每分钟打印出信息。 我还为陷阱设置了一个proc,这样当用户点击ctrl-c时,进程就会中止。 代码看起来像这样: switch = true Signal.trap(“SIGINT”) do switch = false end lastTime = Time.now while switch do if Time.now.min > lastTime.min then puts “A minute has gone by!” end end 现在代码本身是有效的并且运行良好,但它做了很多无用的工作,尽可能多地检查switch的值。 它占用了尽可能多的处理器(至少是一个核心的100%),所以它非常浪费。 我怎样才能做类似的事情,每隔一段时间更新一次事件,而不浪费大量的周期? 所有帮助表示赞赏,并提前致谢!

LoadError:无法加载此类文件 – rspec / core / rake_task

更新:这个问题仍未解决! 任何帮助表示赞赏! 05/07/2015 更新:找到了解决方法。 请看我自己的答案05/09/2015 当我耙,我得到了这个错误。 AllenLins-MacBook-Pro:geoblacklight allenlin$ rake -t Resolving dependencies… You must `gem install bundler` and `bundle install` to run rake tasks rake aborted! LoadError: cannot load such file — rspec/core/rake_task /Users/allenlin/Documents/USpatial/geoblacklight/Rakefile:12:in `require’ /Users/allenlin/Documents/USpatial/geoblacklight/Rakefile:12:in `’ /Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rake/rake_module.rb:28:in `load’ /Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rake/rake_module.rb:28:in `load_rakefile’ /Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rake/application.rb:689:in `raw_load_rakefile’ /Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rake/application.rb:94:in `block in load_rakefile’ /Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rake/application.rb:176:in `standard_exception_handling’ /Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rake/application.rb:93:in `load_rakefile’ /Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rake/application.rb:77:in `block in run’ […]

如何在Rails 3模型类中确定表名

我想在模型方法中获取表名。 我发现应该有方法table_name但是当我尝试调用它时,我得到NameErrorexception:未定义的局部变量或方法`table_name’。 显然不存在: pp methods.grep(/^ta.*/) [“table_name_prefix?”, “table_name_suffix?”, “taint”, “taguri”, “taguri=”, “tainted?”, “table_name_prefix”, “table_name_suffix”, “tap”] 如何获得一个“真正的”表名(没有lowecase – 复数技巧)? 谢谢

Rubymultithreading问题

我开始研究Ruby中的multithreading。 所以基本上,我想创建一些线程,让它们全部执行,但是在线程成功完成之前不显示任何输出。 例: #!/usr/bin/env ruby t1 = Thread.new { puts “Hello_1” sleep(5) puts “Hello_1 after 5 seconds of sleep” } t2 = Thread.new { puts “Hello_2” sleep(5) puts “Hello_2 after 5 seconds of sleep” } t1.join t2.join puts “Hello_3” sleep(5) puts “Hello_3 after 5 seconds of sleep” 第一个Hello_1 / Hello_2立即执行。 在线程成功完成之前,我不希望显示任何输出。

允许Ruby 1.9的哈希语法?

虽然我已经使用Ruby 1.9了一段时间,但我最近才发现现在支持的更新的哈希语法: settings = { host: “localhost”, port: 5984 } 相反: settings = { “host” => “localhost” } 我喜欢它与JavaScript的对象符号的相似性,看起来有点像JSON,所以我可能会切换到使用它与我的所有库,但我仍然希望支持其他用户和我自己的项目,它们采用旧的语法。 所以它真的归结为一个相当简单的问题,即必须测试符号和字符串。 有没有一种简单的方法可以将这两条线作为一条线? return true if settings[“host”] and settings[“db”] return true if settings[:host] and settings[:db]

Ruby on Rails在哪里查询关系

我试图使用查询与关系。 在这种情况下,如何使用where关系查询? 这是模特 User has_many :projects has_many :reasons, through: :projects Project belongs_to :user has_many :reasons Reasons belongs_to :project 这是不起作用的代码 # GET /reasons def index reasons = current_user.reasons updated_at = params[:updated_at] # Filter with updated_at for reloading from mobile app if updated_at.present? # This one doesn’t work!!!!!!!!!!!! reasons = reasons.includes(:projects).where(“updated_at > ?”, Time.at(updated_at.to_i)) # Get all […]

没有主键的ActiveRecord模型

我有一个没有主键的ActiveRecord模型GPA : class GPA < ActiveRecord::Base end 当我尝试调用GPA.first.to_json我得到TypeError: false is not a symbol 。 我猜这是因为ActiveRecord试图查找主键。 没有主键实现模型的正确方法是什么?

Ruby的ThreadGroup是什么用的?

我正在浏览Pickaxe,寻找关于Thread的文档,并遇到了ThreadGroup 。 文档描述了它的作用,但它没有解释它的用途。 是一个与线程池相关的线程组,我认为Ruby没有 ?