草庐IT

past-the-end-iterator

全部标签

ruby-on-rails - 如何设置 ActionMailer default_url_options 的 :host dynamically to the request's hostname?

我正在尝试设置:hostforactionmailer默认url选项。我在所有环境文件中设置了以下内容config.action_mailer.default_url_options={:host=>"localhost"}我想通过提供请求主机使其更具动态性。当我尝试通过设置它时config.action_mailer.default_url_options={:host=>request.domain}或config.action_mailer.default_url_options={:host=>request.env["SERVER_NAME"]}它抛出错误...无法识别“请求

ruby - class_eval << -"end_eval", __FILE__, __LINE__ 在 Ruby 中是什么意思?

我正在学习如何在模块中使用class_eval(我对class_eval有点熟悉)并遇到了thishelpfulclassinresource_controller.那里有这样的东西:class_eval__FILE__和__LINE__在那个上下文中做了什么?我知道__FILE__引用当前文件,但整个事情到底做了什么?真的不知道如何搜索它:)。 最佳答案 __FILE__和__LINE__是一种动态常量,用于保存当前正在执行的文件和行。将它们传递到这里允许错误正确报告它们的位置。instance_eval当你运行它时$rubyfo

ruby - Vim Command-T 插件错误 : could not load the C extension

我正在尝试安装Command-T插件。我按照评论中的说明编译了vim:Installingvimwithrubysupport(+ruby)所以现在有了+ruby标志,但是当我尝试使用该插件时仍然出现此错误:command-t.vimcouldnotloadtheCextensionPleaseseeINSTALLATIONandTROUBLE-SHOOTINGinthehelpFormoreinformationtype::helpcommand-t我的系统上有ruby:>ruby-v>ruby1.8.7(2011-06-30patchlevel352)[x86_64-linux]建

ruby-on-rails - 雾警告和 AWS : unable to load the 'unf' gem

自从我上次更新包后,rails控制台(railsserver、railsconsole、db:migrate等)中的每个操作都会引发警告:[fog][WARNING]Unabletoloadthe'unf'gem.YourAWSstringsmaynotbeproperlyencoded.我确定我没有更改application.rb文件中的AWS字符串中的任何内容:#AmazonS3credentialsENV["AWS_ACCESS_KEY_ID"]="AWS_ACCESS_KEY_ID"ENV["AWS_SECRET_ACCESS_KEY"]="AWS_SECRET_ACCESS_

ruby-on-rails - rails : How to make Date strftime aware of the default locale?

我在environment.rb中将我的默认语言环境设置为de(德语)。我还看到了德语的所有错误消息,因此服务器选择了语言环境。但是当我尝试使用strftime打印日期时,如下所示:some_date.strftime('%B,%y')它以英语(January,11)打印,而不是预期的德语(Januar,11)。如何根据默认语言环境打印日期? 最佳答案 使用l(localize的别名)方法代替原始strftime,如下所示:l(date,format:'%B%d,intheyear%Y')参见here获取更多信息。您还可以定义“命名

ruby-on-rails - 如何处理 Ruby on Rails 错误 : "Please install the postgresql adapter: ` gem install activerecord-postgresql-adapter'"

运行RubyonRails(RoR)应用程序或使用ActiveRecord框架的Ruby代码,您会收到错误消息:Pleaseinstallthepostgresqladapter:geminstallactiverecord-postgresql-adapter尝试运行:geminstallactiverecord-postgresql-adapter也失败了,让你不知所措。 最佳答案 问题不是任何人写的。问题是postgresql数据库适配器的名称是“postgresql”,而不是“postgres”,尽管GEM的名称是“pg”。

Ruby 自定义错误类 : inheritance of the message attribute

我似乎找不到太多关于自定义异常类的信息。我所知道的你可以声明你的自定义错误类,让它继承自StandardError,这样它就可以被rescued:classMyCustomError这允许您使用以下方式提高它:raiseMyCustomError,"Amessage"稍后,在救援时收到该消息rescueMyCustomError=>eputse.message#=>"Amessage"我不知道的事我想为我的异常提供一些自定义字段,但我想从父类继承message属性。我发现阅读onthistopic@message不是异常类的实例变量,所以我担心我的继承不起作用。任何人都可以给我更多的细

ruby-on-rails - rails : Logging the entire stack trace of an exception

我一直在尝试找出记录堆栈跟踪的正确方法。我遇到了this链接指出logger.error$!,$!.backtrace是要走的路,但这对我不起作用log_error。根据文档,我看不出将第二个参数传递给错误方法是如何工作的,因为rails使用的ruby​​记录器只接受一个参数。奇怪的是(或者可能不是)第二个论点被接受了,没有任何口译员的提示。但是,我传递给它的任何内容都将被忽略。谁能解释一下我错过了什么?对错误的第二个论点是什么以及是什么吞噬了它有什么见解吗? 最佳答案 如果您查看ActiveSupport中BufferedLogg

ruby-on-rails - do..end 与 Ruby 中 block 的花括号

我有一个同事积极地试图说服我不应该使用do..end而是使用花括号在Ruby中定义多行block。我坚定地坚持只对短的单行代码使用大括号,对其他一切都使用do..end。但我想我会接触更大的社区以获得一些解决方案。那么它是什么,为什么?(一些shoulda代码的例子)contextdosetup{do_some_setup()}should"dosomthing"do#somemorecode...endend或context{setup{do_some_setup()}should("dosomthing"){#somemorecode...}}就我个人而言,仅看上面的内容就可以回答

ruby-on-rails - rails : How to change the title of a page?

在不使用插件的情况下,在Rails应用中为页面创建自定义标题的最佳方法是什么? 最佳答案 在你的View中做这样的事情:布局文件中的内容如下:也可以将content_for和yield(:title)语句封装在辅助方法中(正如其他人已经建议的那样)。但是,在这种简单的情况下,我喜欢将必要的代码直接放入特定的View中,而无需自定义助手。 关于ruby-on-rails-rails:Howtochangethetitleofapage?,我们在StackOverflow上找到一个类似的问题