Tag: ruby

在Rails中进行分组和计数

我知道我以前见过这个,但现在找不到任何东西。 我想按某个列对查询进行分组,并能够显示每个组中有多less个查询。 我得到了第一部分: @line_items = @project.line_items.all(:group => "device_id") 这是用于我的订单项索引视图,这只是一个显示订单项的表。 现在,如何在该表格中为“count”创build一个列,以便按设备对订单项进行分组?

dynamic地将属性添加到R​​uby对象

我有一个对象创build,我想,基于一些条件检查,添加一些属性到这个对象。 我怎样才能做到这一点? 解释我想要的: A=Object.new if(something happens) { #make A have another attibute say age #& store something in A.age }

如何在Rails中设置path的默认格式?

使用默认路由,request / posts /:id被映射到“show”操作:format => "html" 。 我在show动作中使用了一些xhtml元素,除非:content_type被设置为xml,否则不能正确渲染。 我目前正在通过渲染show.xml.erb并手动设置content_type来解决这个问题,如下所示: format.html { render :template => "/posts/show.xml.erb", :locals => {:post => @post}, :content_type => "text/xml" } 这似乎很愚蠢。 如何更改routes.rb以便/ posts /:id路由format=>"xml" ? 谢谢。

Rails 3.1的Rails.cache错误 – TypeError:不能用默认的proc转储hash

我遇到了3.1.0.rc4上Rails.cache方法的问题(ruby 1.9.2p180(2011-02-18 revision 30909)[x86_64-darwin10])。 在2.3.12(ruby 1.8.7(2011-02-18 patchlevel 334)[i686-linux],MBARI 0x8770,Ruby Enterprise Edition 2011.03)中,该代码工作正常,但是在升级之后开始返回一个错误。 我还没有弄清楚为什么。 尝试caching具有多个作用域的对象时,似乎发生该错误。 另外,不pipe有多less个作用域,任何使用lambdas的作用域都会失败。 我从这些模式中失败了: Rails.cache.fetch("keyname", :expires_in => 1.minute) do Model.scope_with_lambda end Rails.cache.fetch("keyname", :expires_in => 1.minute) do Model.scope.scope end 这是我收到的错误: TypeError: can't dump hash with default proc from /project/shared/bundled_gems/ruby/1.9.1/gems/activesupport-3.1.0.rc4/lib/active_support/cache.rb:627:in `dump' from /project/shared/bundled_gems/ruby/1.9.1/gems/activesupport-3.1.0.rc4/lib/active_support/cache.rb:627:in `should_compress?' from /project/shared/bundled_gems/ruby/1.9.1/gems/activesupport-3.1.0.rc4/lib/active_support/cache.rb:559:in `initialize' from /project/shared/bundled_gems/ruby/1.9.1/gems/activesupport-3.1.0.rc4/lib/active_support/cache.rb:363:in `new' from /project/shared/bundled_gems/ruby/1.9.1/gems/activesupport-3.1.0.rc4/lib/active_support/cache.rb:363:in `block in write' […]

devise+ Omniauth – 如何传递额外的参数?

我有能力在应用程序加载/用户/身份validation/脸谱连接到Facebook。 我希望能够知道请求来自哪里。 无论是从注册Facebook的用户,还是只想与Facebook连接的现有用户。 根据types,答案是非常不同的。 如何在通过authentication时将一个parameter passing给omniauth。 我试过了: /users/auth/facebook?connect_action=signup_connect_to_facebook 但是,connect_action参数并没有达到AuthenticationsController#Create的效果 想法? Thansk

iconv的弃用警告与ruby1.9.3

我运行rspec时遇到了这个警告: /gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in`block in require':iconv将来会被弃用,改用String#encode。 我用rails 3.1.2.rc2版本得到相同的警告。 似乎它与sqlite3gem,但我不知道。 ruby1.9.2没有警告 任何build议如何处理?

未初始化的常量ActionDispatch :: Session :: EncryptedCookieStore(NameError)

我在乘客的轨道上4。 一切都很好,直到我刚才做了一个bundle 。 现在我遇到以下错误: Web application could not be started uninitialized constant ActionDispatch::Session::EncryptedCookieStore (NameError) /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/application/configuration.rb:144:in `const_get' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/application/configuration.rb:144:in `session_store' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/application.rb:345:in `block in default_middleware_stack' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/application.rb:307:in `tap' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/application.rb:307:in `default_middleware_stack' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/engine.rb:494:in `app' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/application/finisher.rb:34:in `block in <module:Finisher>' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/initializable.rb:30:in `instance_exec' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/initializable.rb:30:in `run' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/initializable.rb:55:in `block in run_initializers' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/tsort.rb:150:in `block in tsort_each' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/tsort.rb:183:in `block (2 levels) in each_strongly_connected_component' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/tsort.rb:219:in `each_strongly_connected_component_from' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/tsort.rb:182:in `block in […]

在rails控制台中没有数据库连接

我的rails应用程序工作正常,当我运行rake db:migrate工作正常。 现在问题出现在我尝试启动rails控制台时。 2.0.0p247 :003 > User => User(no database connection)

无法连接localhost:3000ruby在轨道上的stream浪汉

我试图在Windows中连接本地主机:3000 rails服务器运行在vagrant(ubuntu 14.10) portforwarding完成 当我尝试在lunx lynx 127.0.0.1:3000在ubunutu,它的工作原理 但是,在Windows中,我无法连接localhost:3000,127.0.0.1:3000 刚刚显示了ERR_CONNECTION_REFUSED 在cmd中,我运行netstat -t结果是:3000 TIME_WAIT 我怎么解决这个问题? 这是我的'stream浪文件' # -*- mode: ruby -*- # vi: set ft=ruby : # All Vagrant configuration is done below. The "2" in Vagrant.configure # configures the configuration version (we support older styles for # backwards compatibility). Please don't change it unless you know […]

如何打印一个范围之间的随机数字?

我有以下,但它不起作用: <%= (5..30).sample %>