我可以通过正确的格式将README.textile放入我的RDoc吗?

我喜欢使用Textile或Markdown为我的项目编写自述文件,但是当我生成RDoc时,自述文件被解释为RDoc并且看起来非常糟糕。 有没有办法让RDoc通过RedCloth或BlueCloth而不是自己的格式化程序运行文件? 可以配置为从文件后缀自动检测格式吗? (例如,README.textile通过RedCloth运行,但README.mdown通过BlueCloth运行)

嵌套表单Rails

我有2个型号用户和地址。 class User < ActiveRecord::Base has_many :addresses accepts_nested_attributes_for :addresses end class Address < ActiveRecord::Base belongs_to :user end 我的控制器 def new @user = User.new @user.addresses << Address.new @user.addresses << Address.new end def create @user = User.new(params[:user]) if @user.save #do something else render 'new' end end 而我的观点 Home Work 我的问题是我只获得最后一个州,国家,街道进入参数。 “addresses_attributes”=>{“0″=>{“street”=>”test”, “state”=>”test”,, “country”=>”test”}, “1”=>{“street”=>””, “state”=>””, “country”=>””}} 此外,如果有更好的方法,我会感激任何建议。

Ruby维护Hash插入顺序

我正在寻找一种方法来维护我在Ruby中使用的哈希的插入顺序。 我的数据来自数据库,并且已经按照我想要的方式进行分组/排序,但Ruby不保证在我的1.8.4版本中维护Hash中的顺序。 这有什么解决方法吗? 如果没有,我可以创建自定义比较器吗? 这是哈希: { “February”=>[0.5667, 14.6834, 79.7666, 261.8668, 342.1167, 723.517], “March”=>[0.0, 26.4667, 554.45, 681.3164, 2376.0668, 10353.0358], “May”=>[2.75, 34.6666, 342.1831, 1331.8999, 1589.617, 9282.9662], “July”=>[1.9, 2.3666, 59.45, 302.1501, 554.1652, 5195.0839], “June”=>[0.15, 24.2166, 244.1498, 335.6834, 536.067, 1498.949], “August”=>[0.0, 0.4, 9.3668, 30.7164, 67.7504, 162.0337], “April”=>[0.0, 8.3, 68.9331, 357.9168, 815.9662, 2870.217] } 任何想法都会很棒,谢谢

我需要从Facebook游戏中抓取数据 – 使用ruby

修订(澄清问题) 我已经花了几天时间试图弄清楚如何从Facebook游戏中抓取特定信息; 然而,我在砖墙后遇到了砖墙。 尽我所知,主要问题如下。 我可以使用Chrome的inspect元素工具手动查找我需要的html – 它显示在iframe中。 但是,当我尝试刮取iframe时,它是空的(属性除外): 如果我使用浏览器“查看页面源”工具,这与我看到的输出相同。 我不明白为什么我看不到iframe中的数据。 答案并非后来由AJAX添加。 (我知道这两者都是因为“查看页面源代码”可以读取由Ajax添加的数据,也因为我已经等待,直到我可以在抓取之前看到数据页面并且它仍然不在那里之后。 这是因为facebook的反屏幕抓取而发生的,如果是这样的话还有办法吗? 或者我只是遗漏了一些东西。 我用ruby编程,我尝试了nokogiri,然后机械化,然后水豚没有成功。 我不知道它是否有任何区别,但在我看来,iframe使用iframe的“game_frame”引用来获取它的数据,该引用显然是指文档中较早出现的这段html: … 原始问题 我写了一个ruby程序,它使用nokogiri从Facebook游戏的HTML中抓取数据。 目前,我使用chrome的“检查元素”工具获取HTML,然后将其保存到文件中并从那里解析它。 但是,我真的希望能够从ruby中访问信息。 例如,我将程序的页面名称“www.gamename.com/…?id=12345”传递给它,它将登录到facebook,转到该页面并抓取数据。 目前,如果我尝试,它不起作用,因为我被重定向到Facebook的登录页面。 如何通过登录界面访问我需要的页面? 我想使用我已经写过的nokogiri代码来做这件事; 但是,如果我必须,我可以使用别的东西重写它。 目前,该程序是一个独立的程序 – 而不是一个rails程序 – 但我可以改变它。 我看到一些可能指向Omniauth方向的信息,但我不确定这是我在寻找什么,而且看起来也很复杂。 我希望有一个更简单的解决方案。 谢谢

如果你想使用它,如何解决“你需要为你的Gemfile添加gem’守护进程’”生产模式错误?

我正在尝试正确使用Capistrano和RVM,以便将我的Ruby on Rails 3.2.2应用程序部署到运行Ubuntu 10.04 LTS的远程计算机上。 它接缝我解决了我之前的问题“ Linux Ubuntu上的Rvm – Capistrano集成 ”。 但是,在部署时,我得到与DelayedJob gem相关的以下错误: … * executing “cd /srv/www//releases/20120314135318 && bundle install” servers: [“”] [] executing command [] rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell ‘ruby-1.9.3-p125’ -c ‘cd /srv/www//releases/20120314135318 && bundle install’ ** [out :: ] Using rake (0.9.2.2) ** [out :: ] Using builder (3.0.0) … ** [out :: […]

如何从environment.rb或初始化程序中强制执行RAILS_ENV = development?

我们的主机不允许我们修改乘客配置文件(即apache配置或vhosts文件),但我们想在开发模式下运行rails。 因此,我们必须在其中一个文件中指定环境(prod / dev / test),以便重新启动应用程序。 有人知道怎么做吗? 我们尝试了以下但没有运气: #environment.rb (before any other code is executed) `RAILS_ENV=development` # using back ticks ENV[‘RAILS_ENV’] = ‘development’ # assigning to a constant RAILS_ENV=’development’ # as suggested by one of the answers, unfortunately does not work.

如何确定Ruby中Fixnum的长度?

在我写的脚本中,我想在Ruby中找到Fixnum的长度。 我可以做.to_s.length ,但有没有办法直接找到Fixnum的长度而不将其转换为String?

列表Rails控制器实例变量

我试图在控制器中列出实例变量,但想出来了 irb>HomeController.instance_variable_names => [“@visible_actions”, “@inheritable_attributes”, “@controller_path”, “@action_methods”, “@_process_action_callbacks”] 我尝试了这个动作 irb>HomeController.action(“index”).instance_variable_names => [] 那么控制器实例变量属于什么?

用rspec调用特定的url

我想在rspec中创建一个get请求。 get :exec, {:query=>”bla”, :id => “something”, :user_id => “user” } 这构建了一个URL,如: /user/query/something/exec?query=bla 问题是我的控制器检查它得到的请求,url必须如下: /user/query/something/_XXX_/exec?query=bla 我怎样才能在rspec中做这样的事情? (XXX在routes.rb文件中是硬编码的。)

如何在Rails中自动将所有链接设置为nofollow

我知道我可以传递:rel => “nofollow”到link_to但是有没有办法在默认情况下设置它,所以我不必在每个link_to标签中进行更改?