几年前,我已经尝试了几个项目的黄瓜,并期待着再次尝试。 我真的不需要另一个“黄瓜开始”的文章。 相反,我想看到一些实际用途,其他黄瓜用户会考虑惯用和反模式。 所以,在你看来,大型项目中实际黄瓜规格的最好例子是什么?
Ruby中的pipe道符号是什么? 我正在学习来自PHP和Java背景的Ruby和RoR,但我仍然遇到类似这样的代码: def new @post = Post.new respond_to do |format| format.html # new.html.erb format.xml { render :xml => @post } end end 什么是|format| 部分在做? PHP / Java中这些pipe道符号的等效语法是什么?
在Ruby Koans中 , about_hashes.rb部分包含以下代码和注释: def test_changing_hashes hash = { :one => "uno", :two => "dos" } hash[:one] = "eins" expected = { :one => "eins", :two => "dos" } assert_equal true, expected == hash # Bonus Question: Why was "expected" broken out into a variable # rather than used as a literal? end 我无法弄清楚评论中的奖金问题的答案 – […]
我想编写一个Ruby on Rails应用程序,它使用RESTful Web服务API对结果执行一些逻辑,然后在我的视图上显示这些数据。 例如,假设我想编写一个在search.twitter.com上search的程序。 使用纯ruby,我可能会创build以下方法: def run(search_term='', last_id=0) @results = [] url = URI.parse("http://search.twitter.com") res = Net::HTTP.start(url.host, url.port) do |http| http.get("/search.json?q=#{search_term}&since_id=#{last_id.to_s}") end @results = JSON.parse res.body end 我试图把这个方法作为一个私有方法放到我的Rails控制器中,但我认为有一个更好的,更“Rails”的方法来做到这一点。 有一个最佳实践方法,或者这是最好的方法吗?
我正在使用HTTParty来创buildHTTP请求的Rails应用程序。 我怎样才能处理与HTTParty HTTP错误? 具体来说,我需要赶上HTTP 502&503和其他错误,如连接被拒绝和超时错误。
在Ruby中是否有一个内置函数来读取整个文件而不使用任何循环? 到目前为止,我只能遇到以块(行或字符)读取的方法。
什么“参数错误:参数的错误数量(1为0)”是什么意思?
具有基本身份validation的“httparty”命令行版本工作简单而优秀: httparty -u username:password http://example.com/api/url 但是现在我正在寻找可以将基本身份validation添加到来自Rails应用程序中的HTTParty.get调用的方式。 首先,出于testing目的,我想在Controller中对login凭证进行硬编码。 只是为了确保它的工作。 但我找不到任何文件或例子,你可以通过这些。 没有证书的HTTParty.get工作正常: @blah = HTTParty.get("http://twitter.com/statuses/public_timeline.json") 但是我不明白如何在这个上接受-u用户名:密码部分。 对于我来说,下一个挑战(对于Ruby / Rails来说是非常新鲜的)是从用户表单获取用户证书并dynamic传递它,但是现在最重要的是让硬编码版本正常工作。
我想知道是否有可能通过编程(我知道数据存在于某处)获取types(如AR所知 – 例如在迁移脚本和数据库中)。 例如,我可以处理所有的属性名称: ar.attribute_names.each { |name| puts name } .attributes只是返回名称到它们当前值的映射(例如,如果字段没有设置,则没有types信息)。 一些地方我看到它的types信息: 在脚本/控制台中,键入一个AR实体的名称: >> Driver => Driver(id: integer, name: string, created_at: datetime, updated_at: datetime) 很明显,它知道types。 此外,还有.column_for_attribute,它采用一个attr名称并返回一个列对象 – 它具有埋在底层数据库列对象中的types,但它似乎不是一个干净的方法来获取它。 我也会感兴趣,如果有一种方法是友好的新的“ActiveModel”即将到来(rails3)和数据库的具体解耦(但也许types信息不会是其中的一部分,我似乎无法找出是否是)。 谢谢。
我有一个Ruby on Rails应用程序,它是使用以下命令创build的: rails new old_name -d mysql 现在我想将应用程序名称更改为new_name 。 只是更改应用程序文件夹名称是不够的,因为数据库名称也必须更改(从old_name_development到new_name_development )。 我想知道在自动生成的文件中是否还有其他地方需要改变。 有没有内置的命令来更改应用程序名称?