草庐IT

error_messages_for

全部标签

ruby - "Error validating client secret."404 与 Facebook Oauth 和 ruby

我正在尝试使用warden为应用程序实现facebook身份验证,在用户允许facebook身份验证并使用token重定向到我的应用程序回调后,我在使用api时得到400。我的典狱长策略是这样的:classFacebook'https://graph.facebook.com'enddefparams@params||=Rack::Utils.parse_query(request.query_string)enddefauthorize_urlclient.web_server.authorize_url:redirect_uri=>request.url,:scope=>'emai

Ruby 等价于 Python 的 for/else

我一直在寻找类似Python的while/else结构的东西来改进我的代码。这意味着循环被执行,如果循环中的条件在任何时候都不为真,那么它返回else语句中的值。在ruby中,我可以这样做:if@items.empty?"Empty"else@items.eachdo|item|itemendend那么有什么办法可以改善吗?提前谢谢你。 最佳答案 请记住,迭代器block会返回您放入其中的内容,可以对其进行测试以供进一步使用。ifarr.eachdo|item|item.some_action(some_arg)end.empty?

ruby-on-rails - 国际化 : error message localization for particular model

我可以为每个验证本地化错误消息,但我如何为特定模型创建错误。普通语言环境看起来像这样:en:mongoid:errors:messages:taken:"Itisalreadytaken"但我想为user模型更改消息:en:mongoid:errors:messages:taken:"Itisalreadytaken"user:taken:"Itisalreadytaken.%{link_to'Rememberpassword',reset_password_path'}" 最佳答案 试试这个:en:mongoid:errors:m

ruby-on-rails - 为什么 PG::UniqueViolation: ERROR: duplicate key value violates unique constraint?

我有一个模型Post,每次创建帖子时,我都希望同时创建一个新的Moderation实例。所以在post.rb中我使用回调after_save:create_moderation然后写一个私有(private)方法:...includeReportableafter_save:create_moderationprivatedefcreate_moderationself.create_moderation!(blog:Blog.first)end但是在创建提案时出现此错误:PG::UniqueViolation:ERROR:duplicatekeyvalueviolatesunique

ruby - 在没有 rvm 或 rbenv 的情况下编译 Ruby 2.0 错误, `readline.c:1886:26: error: ' Function' undeclared (first use in this function)`

我想安装gitlab,不推荐使用任何ruby版本管理器。但是这是我的操作系统Linuxdqa-dev3.13.0-24-generic#46-UbuntuSMPThuApr1019:08:14UTC2014i686i686i686GNU/Linuxlinkingshared-objectpsych.soinstallingdefaultpsychlibrariesmake[2]:Leavingdirectory`/home/poc/ruby-2.0.0-p451/ext/psych'make[2]:Enteringdirectory`/home/poc/ruby-2.0.0-p451/

ruby - rbenv — 'find_spec_for_exe':找不到带有可执行包的 gem 打包器 (>= 0.a) (Gem::GemNotFoundException)

我是rbenv的新手(长期使用RVM)。今天我彻底卸载了我的RVM并安装了rbenv。我成功安装了Ruby2.5.1,没有任何问题。但是,当我今天尝试为一个项目运行bundleinstall时,出现了以下错误:'find_spec_for_exe':找不到带有可执行包(Gem::GemNotFoundException)的gem打包器(>=0.a)我的bundler安装似乎出了点问题,但我不确定哪里出了问题。使用sudo运行geminstallbundler无法解决问题。这是完整的轨迹:$echo$SHELL/bin/zsh$cat~/.gemrcgem:--no-documentin

ruby-on-rails - Rails 3 和加密字符串 Gem - 获取 OpenSSL::Cipher::CipherError: bad decrypt error

我正在使用rails3.2、Ruby1.9.3和encrypted_stringsgem,尝试以下操作:"wC6234sdf234234cCY1Lag==\n".decrypt(:symmetric,:key=>"mykeynottelling")我收到这个错误:OpenSSL::Cipher::CipherError:baddecrypt然而,这不会发生在Ruby1.8.7中。我对此有点迷茫,有人知道是什么原因造成的吗?更新1:如果我在ruby​​1.8.7中加密一个字符串:"password".encrypt(:symmetric,:key=>"www.buyandsell.ie"

ruby-on-rails - 如何修复 PG::DuplicatePstatement: ERROR?

我想知道如何防止此类错误。到目前为止,我尝试通过AWSOpsworks的数据库配置禁用准备好的语句:例如:数据库配置},"deploy":{"app_name":{"database":{"adapter":"postgresql","prepared_statements":false,"username":"username","database":"db_name_production","host":"cool_host.com","password":"easy"},错误日志PG::DuplicatePstatement:ERROR:preparedstatement"a6"

ruby - better_errors 要求 Ruby 版本 >= 2.0.0

Bundle无法安装better_errors。Gem::InstallError:better_errorsrequiresRubyversion>=2.0.0.Anerroroccurredwhileinstallingbetter_errors(2.0.0),andBundlercannotcontinue.Makesurethat`geminstallbetter_errors-v'2.0.0'`succeedsbeforebundling.但是geminstallbetter_errors工作正常。ruby--version表示ruby2.0.0p353(2013-11-22

ruby - 法拉第 : you may want to install system_timer for reliable timeouts

我将一个旧脚本迁移到一个新的CentOSbox并在运行脚本时收到以下消息:Faraday:youmaywanttoinstallsystem_timerforreliabletimeouts它是警告吗?system_timer是什么?gem? 最佳答案 这是一颗gem。不过,您应该不再需要它了,因为它只支持Ruby1.8及更早版本(Ruby1.8已正式弃用)。来自http://ph7spot.com/musings/system-timer:Update:system_timerisonlyrelevantifyouarerunni