小编jpw*_*ynn的帖子

如何在ruby中对哈希数组进行排序

我有一个数组,其每个元素都是一个带有三个键/值对的哈希:

:phone => "2130001111", :zip => "12345", :city => "sometown"
Run Code Online (Sandbox Code Playgroud)

我想对数据进行排序,zip因此phone同一区域中的所有s都在一起.Ruby有一个简单的方法吗?可以will_paginate在数组中分页数据吗?

ruby arrays sorting

141
推荐指数
4
解决办法
7万
查看次数

Rails 3 + activerecord,为所有满足条件的记录"批量更新"单个字段的最佳方式

在轨道3,使用ActiveRecord,是有一个单一查询的方式来设定:隐藏字段,TRUE对符合条件......也就是说,例如所有记录,:condition => [ "phonenum = ?", some_phone_number ]

如果单个查询无法做到,那么最佳方法是什么?

activerecord ruby-on-rails

75
推荐指数
3
解决办法
5万
查看次数

当我们导入csv数据时,如何消除"UTF-8中的无效字节序列"

我们允许用户通过csv导入数据(使用ruby 1.9.2,因此它的速度更快).

当然,它是用户数据,可能无法正确消毒.

当我们尝试在/ index方法中显示数据时,我们有时会得到错误"UTF-8中的无效字节序列"指向我们的erb,其中我们显示了一个字段widget.name

当我们进行导入时,我们希望强制传入的数据有效...是否有一个ruby运算符,它将字符串映射到有效的utf8字符串,例如类似

goodstring = badstring.no_more_invalid_bytes
Run Code Online (Sandbox Code Playgroud)

"坏"数据的一个例子是char,它看起来像连字符,但不是常规的ascii连字符.我们更喜欢将非utf-8字符映射到合理的ascii等效字符(umlat-u to u to exmaple)但是我们可以简单地将字符剥离到.

因为这是在导入大量数据时,它需要是一个快速的内置运算符,希望......


注意:这是一个数据示例.该文件来自窗口,是8位ascii.当我们导入它并在我们的erb中我们显示widget.name.inspect(而不是widget.name)时,我们得到:"Chains\x96附件"

所以数据的一个例子是"连字符",它实际上是8位代码96.

---当我们改变我们的csv解析以分配fldval = d.encode('UTF-8')时,它会抛出此错误:

Encoding::UndefinedConversionError in StoresController#importfinderitems
"\x96" from ASCII-8BIT to UTF-8
Run Code Online (Sandbox Code Playgroud)

即使我们简单地剥离非ascii,我们正在寻找的是一种简单的方法来强制它无论原始类型是否有效utf8.


虽然不像强制编码那样"好",但这对我们的导入时间有点小费用:d.to_s.strip.gsub(/\P {ASCII} /,'')谢谢你,Mladen!

ruby utf-8

61
推荐指数
5
解决办法
5万
查看次数

rails 3,如何添加一个不使用相同布局的视图作为应用程序的其余部分?

我找不到任何关于如何构建我的应用程序的文档或示例,以允许同一控制器中的不同视图使用完全不同的布局和样式表.

我们的应用程序是脚手架,然后我们使用漂亮的生成器生成视图,然后添加设计用于身份验证.我们有两个模型的视图和控制器:小部件和公司.

我目前只有一个布局:layouts/application.html.haml,我没有看到任何地方引用,所以我假设(一个新手),它总是被命名约定使用.

我现在需要在相同的控制器中添加一些视图(对于移动浏览器),这些视图具有不同的样式表和布局(例如,右上角没有登录/注销链接).

怎么办?

layout ruby-on-rails

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

如何使用ruby"case ... when"与不等式?

你能用ruby做到这一点吗?它似乎"错过"了不平等的案件

 case myvar
 when  myvar < -5
    do somethingA
 when -5..-3
    do special_something_XX
 when -2..-1
    do special_something_YY
 when myvar == 0
    do somethingB
 when myvar > 0
    go somethingC
 end
Run Code Online (Sandbox Code Playgroud)

ruby switch-statement

51
推荐指数
3
解决办法
3万
查看次数

rails 3,如何在Settings.yml文件中使用ENV配置变量?

在我的settings.yml文件中,我有几个配置变量,其中一些参考ENV []变量.

例如,我有ENV ['FOOVAR']等于WIDGET

我以为我可以在<%%>里面引用ENV变量,如下所示:

settings.yml中:

default:
   cv1: Foo
   cv2: <% ENV['FOOVAR'] %>
Run Code Online (Sandbox Code Playgroud)

在rails控制台中,如果我输入

> ENV['FOOVAR']
=> WIDGET
Run Code Online (Sandbox Code Playgroud)

> Settings.cv1
=> Foo   (works okay)
> Settings.cv2
=>nil   (doesn't work???)
Run Code Online (Sandbox Code Playgroud)

yaml env ruby-on-rails

47
推荐指数
3
解决办法
4万
查看次数

你可以使用activerecord来查找字段的子字符串吗?(快速和脏的关键字查找器)

假设一个数据库包含一个字段'关键字',样本记录包括:"管扳手""猴子扳手""新月扳手""新月形卷""猴子栏"

有没有办法在activerecord中找到关键字字段包含子串"crescent"的记录?

(这只是对快速概念原型的快速而肮脏的查找)

activerecord ruby-on-rails

43
推荐指数
3
解决办法
4万
查看次数

rails 3:有没有办法在模型中使用pluralize()?似乎只在视图中工作

它似乎pluralize只适用于视图 - 我的模型是否也可以使用某种方式pluralize

(我的模型中有方法为没有进入视图的用户返回消息字符串 - 例如通过SMS文本消息发送的消息.)

ruby-on-rails pluralize

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

rails 3:显示链接为按钮?

在一些非表单页面上,我有一些链接看起来更像按钮而不是超链接......

我认为button_to而不是link_to会起作用,但buton_to似乎总是被视为一个帖子.

有一种简单的方法可以简单地用按钮替换(非提交)链接吗?

ruby-on-rails button hyperlink

33
推荐指数
3
解决办法
5万
查看次数

是否有红宝石单行"如果x返回"?

有很多我需要添加的地方

if this_flag
  return
end
Run Code Online (Sandbox Code Playgroud)

可以用ruby在一行上完成吗?

ruby syntax

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