标签: ruby

Rails:如何软件非英文字符串?

我怎么能在Ruby on Rails 3中使用非英语字符串?

str = "??????"    # Russian 
puts str[0].ord   # => 1055
str.downcase!
puts str[0].ord   # => 1055 (Should be 1087)
Run Code Online (Sandbox Code Playgroud)

我希望它可以在Ruby 1.8.7以及Ruby 1.9.2中使用.

ruby string ruby-on-rails lowercase ruby-on-rails-3

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

如何使用Rails中的instance_eval子句删除验证?

我想使用instance_eval增强现有的类.原始定义包含验证,需要存在某些字段,即:

class Dummy < ActiveRecord::Base
  validates :field, :presence => true 
end
Run Code Online (Sandbox Code Playgroud)

现在我想使用instance_eval(或任何其他方法,实际上)将其更改为可选:

Dummy.instance_eval do
  ...
end
Run Code Online (Sandbox Code Playgroud)

删除验证的正确语法是什么,因此该字段是可选的.我宁愿直接在模型层上执行此操作,而是在控制器或视图中执行奇怪的操作.实际上并不需要使用instance_eval,但据我所知,这通常是增强Rails中类的最佳方法.

编辑#1

一般来说 - 原始类是gem的一部分,我不想分叉它,也不想绑定到特定的版本.一般原因并不重要.简单地编辑原始模型比猴子修补具有更糟糕的后果.

ruby validation activerecord ruby-on-rails

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

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

从任何编码强制字符串为UTF-8

在我的rails应用程序中,我正在使用来自世界各地的RSS源,有些源的链接不是UTF-8.原始供稿链接不受我的控制,为了在应用程序的其他部分使用它们,它们需要使用UTF-8.

如何检测编码并转换为UTF-8?

ruby ruby-on-rails utf-8 character-encoding

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

Rails 4,使用ActiveRecord进行原始查询

目前有一种方法在Rails 4.0.0.beta1中使用ActiveRecord进行原始SQL选择查询吗?我看到ActiveRecord :: Base.execute不再存在.这是怎样的正确方法?

ruby ruby-on-rails

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

在Go中编写Ruby扩展(golang)

是否有一些关于如何为Go in Ruby编写扩展的教程或实践课程?

ruby gem rubygems go

37
推荐指数
2
解决办法
7894
查看次数

将外键添加到rails模型

我对铁轨很陌生,并且一直试图在没有运气的情况下整夜工作.

我已经创建了3种型号:users,businesses,和business_hours.我还添加了associations(business_hours belongs_to businesses which belongs_to users)和(user has_one business which has_many business_hours).

通过在线阅读文档,我现在需要在我的数据库表中为这些关系创建外键.如何使用Rails ActiveRecord迁移执行此操作?我正在使用PostgreSQL作为我的数据库.

ruby migration postgresql ruby-on-rails ruby-on-rails-3

37
推荐指数
4
解决办法
6万
查看次数

将Ruby Hash转换为YAML

我需要将下面提供的哈希转换为可读的YAML.看起来我可以提供YAML::load一个字符串,但我想我需要先将它转换成这样的东西:

hostname1.test.com:
  public: 51
  private: 10

{"hostname1.test.com"=>
   {"public"=>"51", "private"=>"10"},
 "hostname2.test.com"=>
   {"public"=>"192", "private"=>"12"}
}
Run Code Online (Sandbox Code Playgroud)

我不确定如何有效地转换成该字符串.

我查看了HASH文档,找不到任何内容to_yaml.我找到了它,通过搜索to_yaml哪个可用require yaml.我也尝试使用Enumerable方法,collect但在需要迭代值(另一个哈希)时感到困惑.

我正在尝试使用" 将Ruby转换为Ruby中的字符串 "作为参考.我的想法是把它喂入,YAML::load这会产生我想要的YAML.

ruby hash yaml

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

在 M1 MacBook 上安装较旧的 Ruby 版本?

rbenv使用或在 M1 MacBook 上安装 Ruby 3.0.x 可以正常工作asdf。但 2.7.x 和 2.6.x 等旧版本存在各种问题。如何在不homebrew同时安装 x86 和 ARM 版本的情况下修复它们?

ruby homebrew rbenv asdf-vm apple-m1

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

RAILS 调用 `DidYouMean::SPELL_CHECKERS.merge!(error_name =&gt;pell_checker)' 已被弃用

大家早上好。

\n

我试图理解下面的错误,但由于我是 Rails 新手,我不太明白。有人知道它可能是什么吗?

\n

我在互联网上搜索但没有找到任何具体内容。

\n

我在互联网上搜索过,但没有找到任何内容,如果有人看到或有链接,可以发送给我,我会看到。

\n

如果您需要更多信息来提供帮助,请告诉我,我将编辑该帖子并添加它,我不知道是否还有其他内容我可以发布。

\n

感谢您的帮助 !!

\n
\n\xe2\x9e\x9c make up  \ndocker-compose up\nStarting XXXXXX_postgres    ... done\nStarting XXXXXX_mailcatcher ... done\nStarting XXXXXX_rails       ... done\nAttaching to XXXXXX_mailcatcher, XXXXXX_postgres, XXXXXX_rails\nXXXXXX_mailcatcher    | Starting MailCatcher\nXXXXXX_mailcatcher    | ==> smtp://0.0.0.0:1025\nXXXXXX_postgres       | \nXXXXXX_postgres       | PostgreSQL Database directory appears to contain a database; Skipping initialization\nXXXXXX_postgres       | \nXXXXXX_mailcatcher    | /usr/local/bundle/gems/thin-1.5.1/lib/thin/server.rb:104: warning: constant ::Fixnum is deprecated\nXXXXXX_postgres       | 2022-01-21 11:02:46.949 UTC [1] LOG:  starting PostgreSQL 12.8 (Debian 12.8-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 …
Run Code Online (Sandbox Code Playgroud)

ruby rubygems ruby-on-rails

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