小编Dou*_*rer的帖子

Ruby Net :: HTTP - 遵循301重定向

我的用户提交了网址(混合在mixcloud.com上),我的应用程序使用它们来执行网络请求.

一个好的url返回200状态代码:

uri = URI.parse("http://www.mixcloud.com/ErolAlkan/hard-summer-mix/")
request = Net::HTTP.get_response(uri)(
#<Net::HTTPOK 200 OK readbody=true>
Run Code Online (Sandbox Code Playgroud)

但如果你忘记了斜杠,那么我们原本不错的网址会返回301:

uri = "http://www.mixcloud.com/ErolAlkan/hard-summer-mix"
#<Net::HTTPMovedPermanently 301 MOVED PERMANENTLY readbody=true> 
Run Code Online (Sandbox Code Playgroud)

404的情况也是如此:

# bad path returns a 404
"http://www.mixcloud.com/bad/path/" 
# bad path minus trailing slash returns a 301
"http://www.mixcloud.com/bad/path"
Run Code Online (Sandbox Code Playgroud)
  1. 如何"向下钻取"301以查看它是否将我们带到有效资源或错误页面?
  2. 是否有一个工具可以全面概述特定域可能适用于其URL的规则?

ruby

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

Rails 3.1和sprockets使用firebug更难调试?

在Rails 3.1中,Sprockets用于管理资产并将它们打包成一个文件.总的来说,这不是一个坏主意.

引自外部来源,解释了手头的问题:

这种方法的一个问题是它可能会使调试变得更难,如果你必须查看生产中的"连接"CSS文件来理解包含的代码而不是,那么就更难知道什么来自哪里而不是你刚才包括原始源代码文件.

一种解决方案是有一种方法可以轻松地在"连接"和"正常"模式之间切换(可能已经可以,我不知道),因此正常开发将不受阻碍.但是你必须使用大型连接文件进行生产调试.

在Rails 3.0.X中,我们的设计人员可以使用Firebug轻松指出CSS设置,这将直接指示文件和行号,因为所有CSS文件都是独立的,而不是打包成一个.

或者我错过了这一点?

ruby-on-rails ruby-on-rails-3 sprockets

13
推荐指数
3
解决办法
2056
查看次数

如何设置数组的默认值(php)

例如:

$arr = array('k1'=>1,'k2'=>2,'k3'=>3);
Run Code Online (Sandbox Code Playgroud)

如果我想获得$ arr ['k4'](意外指数),则会有一个通知:

Notice: undefined index......
Run Code Online (Sandbox Code Playgroud)

所以,我可以为数组设置dufalut值,就像ruby的哈希:

h = {'k1'=>1,'k2'=>2,'k3'=>3}
h.default = 'default'
puts h['k4']
Run Code Online (Sandbox Code Playgroud)

那么,我会得到'默认';

php

7
推荐指数
2
解决办法
7436
查看次数

为什么Rails Active Record迁移会在MySQL的varchar列上生成COLLATE utf8_bin

我已经在rails版本3.0.10的rails上运行了jruby。我发现活动记录迁移以某种方式在所有varchar列上生成COLLATE utf8_bin。
当我进行表演时,创建表用户:

CREATE TABLE `users` (
  `id` int(11) not null AUTO_INCREMENT default NULL,
  `email` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin not null default '',
  `remember_created_at` datetime,
  `sign_in_count` int(11) default 0,
  `current_sign_in_at` datetime,
  `last_sign_in_at` datetime,
  `current_sign_in_ip` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin default NULL,
....
Run Code Online (Sandbox Code Playgroud)

任何人都知道为什么以及如何将其关闭?

mysql migration activerecord ruby-on-rails

4
推荐指数
1
解决办法
4112
查看次数

需要在Builder函数名中使用连字符

我正在尝试使用Builder为我正在处理的项目构建一个xml文档.xml有一个非常严格的结构,所以我不能改变它.我遇到的问题是这个.我正在尝试将子项添加到节点中子项"linking-phrase-list" 的名称必须是"linking-phrase".所以为了做到这一点,我会打电话:

test = Builder.new do |xml|
  xml.map {
    xml.send(:"linking-phrase-list") {
      xml.linking-phrase("label" => "edge1", "id" => "idedge1")
    }
  }
end
Run Code Online (Sandbox Code Playgroud)

当然,ruby将此解释为(xml.linking)-phrase()完全不符合我的要求.所以我需要知道是否有某种方法我可以说服ruby是一个函数调用而不是两个?那或告诉nokogiri我的意思是当我不使用该功能时.

ruby xml ruby-on-rails builder

3
推荐指数
1
解决办法
1333
查看次数

Ruby,使用'?' - db或模型方法?

我喜欢用吗?对于布尔字段,例如,'animals'table"alive?" 非常明显.我在哪里定义这个?在创建表迁移时,是否使用它命名db字段(不要这么认为).或者它是自动的布尔字段还是我在活动记录模型类中有一个小方法用于表示类似def alive的动物?如果活着那么真的是假的结局?

activerecord ruby-on-rails

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