从Ruby中的哈希数组生成HTML表

什么是从散列数组生成HTML表格的最佳方法(理想情况下是gem,但必要时还有代码片段)? 例如,这个哈希数组: [{“col1″=>”v1”, “col2″=>”v2”}, {“col1″=>”v3”, “col2″=>”v4”}] 应该生成这个表: col1col2 v1v2 v3v4

给定数量的所有因素

例如,我有4800,我想看到这个数字的所有因素。 # num = the number you want factors of def factors_of(num) (1..num).collect { |n| [n, num/n] if ((num/n) * n) == num}.compact end divisors_of(4800)=> [[1,4800],[2,2400],[3,1600],[4,1200],[5,960],[6,800],[8,600],[ 10,480],[12,400],[15,320],[16,300],[20,240],[24,200],[25,192],[30,160],[32, 150],[40,120],[48,100],[50,96],[60,80],[64,75],[75,64],[80,60],[96,50] ,[100,48],[120,40],[150,32],[160,30],[192,25],[200,24],[240,20],[300,16],[ 320,15],[400,12],[480,10],[600,8],[800,6],[960,5],[1200,4],[1600,3],[2400, 2],[4800,1]] 你会用ruby或任何语言做到这一点?

如何在命令行中捕获值并添加到配方?

我是Chef和Ruby的新手 我需要在命令行上将两个变量传递给Chef,并在配方中提供这些变量。 我如何捕捉这些价值并将其送到厨师手中? 我需要这样的东西: before_deploy command execute param1 param2 deploy{ param1/param2} param1和param2在运行时从命令行获取其值。

使用Rails的动态路由3

我有一个任务是按照路由模型开发rails应用程序。 我需要有PageController和Page模型。 页面url必须与/contacts, /shipping, /some_page 。 我还需要CatalogController和Category模型。 类别url必须像/laptops, /smartphones/android 。 它将是ProductsController和Product型号, Producturl必须是行/laptops/toshiba_sattelite_l605 , /smartphones/android/htc_magic 我知道这个问题可以通过使用像这样的URL来解决 /page/shipping /catalog/smartphones/android 但客户不希望在URL中看到“ /page ”或“ /catalog ”的插入。 请告诉我解决这个问题的方向。 对不起,我的英语不好。

如何选择独特的元素

我想用uniq_elements方法扩展Array类,该方法返回多重性为1的元素。 我也uniq一样使用闭包到我的新方法。 例如: t=[1,2,2,3,4,4,5,6,7,7,8,9,9,9] t.uniq_elements # => [1,3,5,6,8] 关闭示例: t=[1.0, 1.1, 2.0, 3.0, 3.4, 4.0, 4.2, 5.1, 5.7, 6.1, 6.2] t.uniq_elements{|z| z.round} # => [2.0, 5.1] tt.uniq和t.to_set-t.uniq.to_set都tt.uniq 。 我不关心速度,我在程序中只调用一次,所以它可能很慢。

validation失败:上传文件的扩展名与其内容不匹配

我正在使用paperclip gem上传文件。 我的回形针gem版是paperclip-4.1.1。 在上传文件时抛出 Validation failed: Upload file has an extension that does not match its contents. 我正在尝试上传xlsx文件。 而且我已经在模型中提到了content_type。 validates_attachment_content_type :upload_file, :content_type => %w(application/msword application/vnd.ms-office application/vnd.ms-excel application/vnd.openxmlformats-officedocument.spreadsheetml.sheet), :message => ‘, Only XML,EXCEL files are allowed. ‘ 我不知道为什么会发生这种错误。 如果您对此错误有任何疑问,请分享。 摘自日志以显示validation失败: Command :: file -b –mime-type ‘/tmp/5249540099071db4e41e119388e9dd6220140513-24023-1jlg4zy’ [paperclip] Content Type Spoof: Filename file_for_bulk_upload1.xlsx ([“application/vnd.openxmlformats-officedocument.spreadsheetml.sheet”]), content type discovered […]

阻止Rails测试删除种子数据

我使用seeds.rb来填充一些状态模型参考数据: State.create :name => ‘Alabama’, :abbreviation => ‘AL’ State.create :name => ‘Alaska’, :abbreviation => ‘AK’ # … 虽然我没有使用状态装置(因为它的种子数据开始,我认为不必为了测试而必须复制它),Rails测试框架似乎在测试期间删除了所有状态种子数据。 (我正在删除,重新创建,迁移和重新安装测试数据库,并在unit testing运行之前确认数据存在。) 结果是这个断言在seeds.rb中成功但在一行测试中失败: assert_equal 51, State.all.size 1) Failure: test_state_seeds_are_present(StateTest) [/test/unit/state_test.rb:24]: expected but was . 1 tests, 1 assertions, 1 failures, 0 errors 我已经尝试在基本测试类fixtures语句中明确列出非状态模型,以及翻转事务fixtures标志(正如预期的那样,这只会影响测试期间创建的记录)。 当然,正在考虑的测试本身并不删除这些记录。 始终删除州记录。 有没有办法告诉Rails只是脱掉种子数据? 我是否需要复制灯具中的所有数据以确保它重新加载? 如果没有重大政治事件,我预计州的数据会相对稳定。 TIA

单引号字符串中的反斜杠与双引号字符串相反

如果我在双引号和单引号字符串的开头添加反斜杠+空格,我会得到不同的结果: “\ text” ‘\ text’ 在双引号字符串的输出中,我只看到一个空格。 在单引号字符串的输出中,我看到反斜杠+空格。 那里发生了什么? 这是因为’\ ‘被解释为双引号字符串中的特殊字符,但在单引号字符串中字符保留原样? 如果我将字符串更改为this,我会看到相同的输出,即单个斜杠后跟一个空格,然后是文本: “\\ text” ‘\\ text’ 在这两种情况下,反斜杠都会被转义。 我很困惑为什么他们在这种情况下以同样的方式工作。 是否有一些规则可以帮助解释单引号字符串和双引号字符串如何处理Ruby中的反斜杠之间的根本区别?

什么是Ruby正则表达式中的’?-mix’

只是试图在ruby中调试正则表达式。 当我打印正则表达式的内容时,它?-mix在正则表达式的开头显示?-mix ,即使这些字符不是表达式的一部分。 请参阅以下IRB输出以查看此图示 irb(main):028:0* EXPR = /^a$/ => /^a$/ irb(main):029:0> EXPR => /^a$/ irb(main):030:0> puts EXPR (?-mix:^a$) => nil 正如您所看到的,当您使用puts打印出正则表达式的内容时,开头就有?-mix 。 我应该担心吗? 它来自哪里?

Ruby中And / &&的运算符优先级

我对Ruby中的和/ && / =关键字有疑问。 ruby文档说,所提到的关键字的优先级是:(1)&&,(2)=,(3)和。 我有这段代码我写道: def f(n) n end if a = f(2) and b = f(4) then puts “1) #{a} #{b}” end if a = f(2) && b = f(4) then puts “2) #{a} #{b}” end 输出是: 1)2 4 [预期] 2)4 4 [ 为什么 ?] 出于某种原因,使用&&会导致a和b评估为4?