小编Pat*_*ann的帖子

合并两个ActiveRecord :: Relation对象

假设我有以下两个对象:

first_name_relation = User.where(:first_name => 'Tobias') # ActiveRecord::Relation
last_name_relation  = User.where(:last_name  => 'Fünke') # ActiveRecord::Relation
Run Code Online (Sandbox Code Playgroud)

是否有可能将两个关系结合起来产生一个ActiveRecord::Relation包含两个条件的对象?

注意:我知道我可以链接这些行为来获得这种行为,我真正感兴趣的是我有两个独立的ActiveRecord::Relation对象.

ruby-on-rails arel rails-activerecord

165
推荐指数
7
解决办法
9万
查看次数

在github.com上使用README.md

我不太熟悉github在更新README文件时使用的轻量级标记语言.

关于如何为我的开源库的README/wiki文件编写适当的标记语法,我可以阅读哪些资源?

还有一个工具可以在将更新后的README推送到我的github存储库之前"在浏览器中本地查看我的文档"吗?

markup markdown github

106
推荐指数
3
解决办法
8万
查看次数

如何获取具有表的列名的数组

我需要一个包含表名列的数组

有关如何使用rails 3.0.0rc执行此操作的任何想法?

ruby orm activerecord ruby-on-rails ruby-on-rails-3

39
推荐指数
3
解决办法
3万
查看次数

在Rails 3.2中禁用说明

是否可以通过配置全局禁用Rails 3.2中的新解释功能?我正在使用activerecord-sqlserver-adapter 3.2.1并且似乎有一些错误与gem的解释(显示计划)部分.

sql activerecord ruby-on-rails sql-execution-plan

14
推荐指数
2
解决办法
4024
查看次数

如何使用CSS为HTML表单中的单选按钮制作多行,垂直和水平对齐的标签?

假设以下标记:

<fieldset>
    <legend>Radio Buttons</legend>
    <ol>
        <li>
            <input type="radio" id="x">
            <label for="x"><!-- Insert multi-line markup here --></label>
        </li>
        <li>
            <input type="radio" id="x">
            <label for="x"><!-- Insert multi-line markup here --></label>
        </li>
    </ol>
</fieldset>
Run Code Online (Sandbox Code Playgroud)

如何设置单选按钮标签的样式,使其在大多数浏览器中看起来如下(IE6 +,FF,Safari,Chrome:

单选按钮标签

html css label cross-browser radio-button

11
推荐指数
2
解决办法
3万
查看次数

bundler Rails在开发中需要不同的gem

我正在尝试建立一个开发Rails gem的开发环境.我想在开发模式下从本地源加载gem并在生产中通过rubygems加载.我想做类似以下的事情:

的Gemfile

group :production do
  gem 'my_gem', '1.0.0'
end

group :development do
  gem 'my_gem', :path => '~/apps/my_gem'
end
Run Code Online (Sandbox Code Playgroud)

当我运行bundle命令时,bundler会抱怨你无法加载两次相同的gem.有没有办法根据Rails环境要求不同版本的gem?

ruby rubygems ruby-on-rails bundler

10
推荐指数
2
解决办法
3159
查看次数

Ruby可枚举的反向检测

假设我有以下数组:

views = [
  { :user_id => 1, :viewed_at => '2012-06-29 17:03:28 -0400' },
  { :user_id => 1, :viewed_at => '2012-06-29 17:04:28 -0400' },
  { :user_id => 2, :viewed_at => '2012-06-29 17:05:28 -0400' },
  { :user_id => 3, :viewed_at => '2012-06-29 17:06:28 -0400' },
  { :user_id => 1, :viewed_at => '2012-06-29 17:07:28 -0400' },
  { :user_id => 1, :viewed_at => '2012-06-29 17:08:28 -0400' },
  { :user_id => 3, :viewed_at => '2012-06-29 17:09:28 -0400' },
  { :user_id => 3, :viewed_at => …
Run Code Online (Sandbox Code Playgroud)

ruby arrays ienumerable reverse detect

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

启动irb或脚本/控制台时不执行〜/ .irbrc

这是我尝试过的:

1. gem install awesome_print
2. echo "require 'ap'" >> ~/.irbrc
3. chmod u+x ~/.irbrc
4. script/console
5. ap { :test => 'value' }
Run Code Online (Sandbox Code Playgroud)

结果:

NameError: undefined local variable or method `ap' for #

ruby bash ruby-on-rails irb rails-console

7
推荐指数
4
解决办法
3020
查看次数

开源特定于站点的浏览器

这是我想要做的,非常简单:

我想将一个URL放入Mozilla Prism(或其他替代方案),然后在我的桌面上提供一个图标,当我点击它时会打开一个窗口并显示该页面.这个Prism实例的过程应该完全独立于正在运行的任何其他Prism"应用程序".

Prism看起来确实如此,但我正在运行Fedora 12 x86_64并且我无法让它工作,所以我想知道是否有任何替代Prism.

根据维基百科,这种类型的应用程序称为特定于站点的浏览器.

open-source desktop-application web-applications mozilla-prism

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

自定义收集路由的polymorphic_path

我有以下路线定义:

resources :documents do
  collection do
    post :filter
  end
end
Run Code Online (Sandbox Code Playgroud)

以及以下模型结构:

class Document < ActiveRecord::Base
  belongs_to :documentable, :polymorphic => true
end

class User < ActiveRecord::Base
  has_many :documents, :as => :documentable
end
Run Code Online (Sandbox Code Playgroud)

和控制器结构:

class DocumentsController < ApplicationController
  def index
    # not important
  end

  def filter
    # not important
  end
end
Run Code Online (Sandbox Code Playgroud)

我可以轻松地在一个视图中说:

polymorphic_path([@user, Document])
Run Code Online (Sandbox Code Playgroud)

获取路径/ users/1/documents,但我希望能够说:

filter_polymorphic_path([@user, Document])
Run Code Online (Sandbox Code Playgroud)

不幸的是,获取路径/ users/1/documents/filter,这不起作用.

对于我的每个可记录模型,任何人都知道如何在不添加以下内容的情况下将其删除:

resources :users do
  resources :documents do
    collection do
      post :filter
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

routes ruby-on-rails polymorphic-associations custom-routes ruby-on-rails-3

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

使用rvm,ruby 1.8.7和linux上的gcc 4.7安装bundler

在linux(Fedora 17,Arch等)上构建ruby 1.8.7或在GCC 4.7上安装bundler gem的问题.我使用RVM发生了这个问题.我能够安装1.8.7,但无法安装bundler gem.我会收到以下错误:

$ gem install bundler

~/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/timeout.rb:60: [BUG] Segmentation fault
ruby 1.8.7 (2012-02-08 patchlevel 358) [x86_64-linux]
Run Code Online (Sandbox Code Playgroud)

此问题在许多地方都有描述,包括:

ruby linux gcc bundler rvm

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

为什么数据库表称为表?

我思考过这个问题,我找到的最合理的比喻是:

桌子是放置物品的表面

这似乎有点宽泛,但也许这就是对概念命名的所有想法.我也搜索了谷歌和维基百科,并没有找到该术语开始的记录.

database

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

无法为here-document创建临时文件,使用rvm安装ruby 1.9.2

rvm install 1.9.2

得到:

[2011-08-31 00:54:45]  ./configure --prefix=/home/pklingem/.rvm/rubies/ruby-1.9.2-p290 --enable-shared --disable-install-doc --with-libyaml-dir=/home/pklingem/.rvm/usr 
configure: WARNING: unrecognized options: --with-libyaml-dir
./configure: line 2307: cannot create temp file for here-document: Invalid argument
./configure: line 2319: cannot create temp file for here-document: Invalid argument
./configure: line 2354: cannot create temp file for here-document: Invalid argument
./configure: line 2516: cannot create temp file for here-document: Invalid argument
./configure: line 2520: cannot create temp file for here-document: Invalid argument
./configure: line 2524: cannot create temp file for here-document: …
Run Code Online (Sandbox Code Playgroud)

ruby install fedora rvm ruby-1.9.2

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