草庐IT

ruby - 加载网页时 : "undefined method ` request_uri' for #"

我正在尝试使用Ruby通过HTTP加载网页并检查其状态代码是什么。我的代码如下所示:require"net/http"@r=Net::HTTP.get_response(URI.parse(myURL))return@r.code但是,对于某些URL(主要是指向奇怪的东西,例如不会给出正确响应的Web计数器),我得到了一个undefinedmethodrequest_urifor#异常。我已经将它追溯到http.rb的第380行(我正在运行Ruby1.8),它说:defHTTP.get_response(uri_or_host,path=nil,port=nil,&block)ifpa

ruby-on-rails - Rails for Zombies Lab 4 > 练习 3

我在第三个练习中停留在第四个RailsforZombies实验室。这是我的任务:创建将创建新僵尸的操作,然后重定向到创建的僵尸的显示页面。我有以下参数数组:params={:zombie=>{:name=>"Greg",:graveyard=>"TBA"}}我写了下面的代码作为解决方案:defcreate@zombie=Zombie.create@zombie.name=params[:zombie[:name]]@zombie.graveyard=params[:zombie[:graveyard]]@zombie.saveredirect_to(create_zombie_path

ruby - Docker for Mac - mkmf.rb 找不到 ruby​​ 的头文件

我在我的Mac上更新了XCode,从那时起,当使用docker-sync-stackstart启动Docker时,我收到了这个错误消息:mkmf.rbcan'tfindheaderfilesforrubyat/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/include/ruby.h我尝试用这个安装ruby​​:brewinstallrbenvruby​​-build但这并没有改变任何东西。有人知道我该如何解决吗?谢谢! 最佳答案 对于ma​​c

ruby-on-rails - 移至生产服务器的 Rails 应用出现 "dump format error for symbol"错误

我刚刚将我的Rails应用程序从开发服务器转移到部署服务器。我已经安装了passenger,但我想尝试使用railss来确保一切正常(这是我第一次开发和部署rails应用程序)。规范是:Ruby1.9.3和RVM、mod_passenger、Rails3.2.3。全部安装正确,我还启用了Apache模块。顺便说一句,出了点问题(乘客一直在说“错误信息:未知key:类(class)”。)运行railss会出现上面列出的奇怪错误dumpformaterrorforsymbol(0x45)ProcessingbyDevise::SessionsController#newasHTMLRend

ruby - 如何禁用数据库 :schema:dump for migrations

我不希望Rails3在每次迁移时生成我的模式。如何正确禁用它?谢谢 最佳答案 对于仍在寻找在迁移后禁用数据库转储的方法的任何人,rails4中现在可以使用配置,可以像这样将其设置为false:config.active_record.dump_schema_after_migration=false会阻止它。此更改中已添加配置-https://github.com/rails/rails/pull/13948 关于ruby-如何禁用数据库:schema:dumpformigrations

ruby-on-rails - 将查询字符串附加到 url

我有一个回调url字符串params[:callback],我需要附加一个查询字符串"&result=true"并重定向用户。我发现这样做的更好方法是使用addressable但我认为代码对于这样的任务来说太大了,尤其是当我们谈论ruby​​时:callback=Addressable::URI.parse(params[:callback])query=callback.query_valuesquery[:result]='true'callback.query_values=queryredirect_tocallback.to_s是否有更优雅的方式来获得与此代码段相同的结果?

ruby-on-rails - 如何在不下载文件的情况下使用其 URL 检查文件是否存在?

我需要编写代码,通过检查文件的URL来确定文件是否存在。目前我实现了这个:error_code=400;response=Net::HTTP.get_response(URI(url));returnresponse.code.to_i但是,它不能正常工作,因为每次它都下载文件,如果我有大文件或很多文件,这真的很慢。如何在不下载文件的情况下判断远端是否存在文件? 最佳答案 如果你想使用Rubys包含的Net::HTTP那么你可以这样做:uri=URI(url)request=Net::HTTP.newuri.hostresponse

ruby - 在 sinatra 中获取绝对(基本)url

现在,我做一个get'/'doset:base_url,"#{request.env['rack.url_scheme']}://#{request.env['HTTP_HOST']}"#...haml:indexend能够在HAMLindex.haml中使用options.base_url。但我确信有一种更好的、更干的方法可以做到这一点。然而我看不见,也找不到。(我是Sinatra的新手:))不知何故,在get之外,我没有可用的request.env,或者看起来是这样。所以把它放在一个包含中是行不通的。你如何获得你的基本网址? 最佳答案

ruby-on-rails - 如何在 Rails 测试中轻松解析带参数的 URL?

我有一些代码将return_toURL嵌入到我要测试的重定向(如OpenID)中:deftest_uses_referrer_for_return_toexpected_return_to='http://test.com/foo'@request.env['HTTP_REFERER']=expected_return_toget:fazbot#@response.redirected_tolookslikehttp://service.com?...&return_to=[URI-encodedversionofURLabove]&...encoded_return_to=(some

ruby-on-rails - accepts_nested_attributes_for的替代方法-也许是virtus

我对rails比较陌生,最终找到了正确的使用accepts_nested_attributes_for的方法。然而,网络上有一些严肃的资源说,使用accepts_nested_attributes_for通常是一种不好的做法(比如这个one)。要避免accepts_nested_attributes_for需要做哪些更改,以及将附加类文件放在哪个文件夹中(我想需要一个附加类)。我读到virtus适合这个。对吗?下面是一个仍然使用accepts_nested_attributes_for的非常基本的示例(查找完整的示例here):模型classPerson控制器classPeopleCo