ruby on rails,session expire notification

我使用ruby 1.9.3和rails 3.2。 我的实际会话处理如下: 会话助手 def sign_in(user) cookies[:remember_token] = {value: user.remember_token, expires: 20.minutes.from_now.utc} self.current_user = user end def sign_out self.current_user = nil cookies.delete(:remember_token) end def signed_in? if current_user.nil? return false else cookies[:remember_token] = {value: current_user.remember_token, expires: 20.minutes.from_now.utc} end def current_user=(user) @current_user = user end def current_user @current_user ||= User.find_by_remember_token(cookies[:remember_token]) end 应用控制器 class ApplicationController < ActionController::Base […]

正则表达式 – 替换除URL / URI之外的单词

为Web应用程序编写全球化模块,我需要一个regexp来替换一个单词的所有实例与另一个单词(翻译) – 除了 – 在URL / URI中找到的单词。 编辑:我忘了提到我使用Ruby,所以我不能使用’Lookbehind’

如何在activeadmin下拉菜单中的#上显示模型标题?

我已经创建了一个关联,其中Project has_many任务和任务belongs_to Project。 我在admin / tasks.rb中创建了表单 form do |f| f.inputs “Details” do f.input :title f.input :project end f.buttons end 现在在编辑任务页面中,我有一个下拉菜单,我可以在其中选择项目,但条目为#. 如何自定义下拉列表中的条目以显示“项目标题”字段? 我是一个Rails新手。

ruby语法错误,意外$ end,期待keyword_end

以下代码显示错误如下: “ruby -KU — ‘C:\Users\Ishmael\My Documents\Aptana Studio 3 Workspace\Simple\FirstFile’ C:/Users/Ishmael/My Documents/Aptana Studio 3 Workspace/Simple/FirstFile:55: syntax error, unexpected $end, expecting keyword_end” 我搜索了额外的结尾和尾随’。但是徒劳无功,我仍然无法弄清楚为什么它不起作用! class Greeter attr_accessor :name def initialize(name=”dudes”) @name=name end def say_hi if @name.nil? puts “…” else if @name.respond_to?(“each”) @name.each do |name| puts “Hello #{name.capitalize}!” end else puts “Hi #{@name.capitalize}!” end end def say_bye if @name.nil? […]

使用ruby-gmail阅读Gmail邮件

我正在寻找ruby-gmail gem中的一个实例方法,它允许我读取: 身体或 学科 的Gmail邮件。 在查看了这里找到的文档后,我找不到任何东西!? Gmail::Message类部分中有一个.message实例方法; 但是,由于缺乏一个更好的术语,它只会为身体发送电子邮件“mumbo-jumbo”。 我的尝试: #!/usr/local/bin/ruby require ‘gmail’ gmail = Gmail.connect(‘username’, ‘password’) emails = gmail.inbox.emails(:from => ‘someone@mail.com’) emails.each do |email| email.read email.message end 现在: email.read不起作用 email.message返回上面提到的“mumbo-jumbo” 有人在SO上提出这个问题,但没有得到答案。

Watir:通过启动chrome浏览器有时会出现Net :: ReadTimeout错误

我只是使用watir脚本从服务器下载顺序状态信息。 在大多数情况下它工作正常,但有时我得到一个Net :: ReadTimeout错误。 我不知道为什么? 码: require “rubygems” require “watir” Watir.default_timeout = 180 # seconds – default is 60 prefs = { :download => { :prompt_for_download => false, :default_directory => path } } browser = Watir::Browser.new :chrome, :switches => %w[–no-sandbox], :prefs => prefs browser.goto ‘https://www…’ … 错误信息: /usr/lib/ruby/2.3.0/net/protocol.rb:158:in `rbuf_fill’: Net::ReadTimeout (Net::ReadTimeout) from /usr/lib/ruby/2.3.0/net/protocol.rb:136:in `readuntil’ from […]

named_scope的问题会导致will_paginate出错 – 如何在计数中包含group_by?

[rails 2.3.12] named_scope: named_scope :order_by_price, lambda {{:joins => :variants, :group => “products.id”, :order => “MAX(price)”}} 安慰: 1. > Product.order_by_price.size => 21 2. > p = Product.order_by_price > p.size => 4 SQL查询: 1. SELECT count(*) AS count_all FROM `products` INNER JOIN `variants` ON variants.product_id = products.id 2. SELECT `products`.* FROM `products` INNER JOIN `variants` ON variants.product_id […]

如何从模型回调中捕获在不同线程上引发的rsolr Sunspotexception?

即使我可以捕获从@ post.save引发的exception并记录错误并打印线程 begin if @post.save rescue Exception => ex # rescue Errno::ECONNREFUSED => ex Thread.list.each {|t| pt} Rails.logger.error “ERROR: Could not save blog post! Is the Solr server up and running? Exception: #{ex}” 它仍然在网页上出错,并且不会在堆栈跟踪中显示我的任何代码。 solr Sunspot模型回调在一个单独的线程上运行。 rsolr (1.0.9) lib/rsolr/connection.rb:19:in `rescue in execute’ rsolr (1.0.9) lib/rsolr/connection.rb:14:in `execute’ … sunspot_rails (2.1.0) lib/sunspot/rails/solr_instrumentation.rb:15:in `send_and_receive_with_as_instrumentation’ (eval):2:in `post’ rsolr (1.0.9) […]

Office 365 API在/ me / calendars端点上抛出500

截图: http : //take.ms/MWwbv 端点: https : //outlook.office365.com/api/v1.0/me/calendars 我们在请求的标头中提供访问令牌。 它已经工作了几个星期,今天就突破了这个错误。 ===启动错误消息=== ‘/ API’应用程序中的服务器错误。 定位的程序集的清单定义与程序集引用不匹配。 (HRESULTexception:0x80131040) 描述:执行当前Web请求期间发生未处理的exception。 请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。 exception详细信息:System.IO.FileLoadException:找到的程序集的清单定义与程序集引用不匹配。 (HRESULTexception:0x80131040) 来源错误: 在执行当前Web请求期间生成了未处理的exception。 可以使用下面的exception堆栈跟踪来识别有关exception的起源和位置的信息。 堆栈跟踪: [FileLoadException:定位的程序集的清单定义与程序集引用不匹配。 (HRESULTexception:0x80131040)] [FileLoadException:无法加载文件或程序集’Microsoft.Exchange.AirSync,Version = 15.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35’或其依赖项之一。 定位的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的exception:0x80131040)] Microsoft.Exchange.Services.Core.Types.CallContext.DisposeOwaFields()+ 0 Microsoft.Exchange.Services.Core.Types.CallContext.Dispose(Boolean isDisposing)+864 Microsoft.Exchange.Services。 OData.ODataContext.InternalDispose(布尔处理)+82 Microsoft.Exchange.Diagnostics.DisposeTrackableBase.Dispose()+80 Microsoft.Exchange.Diagnostics.DisposeTrackableBase.Dispose()+80 Microsoft.Exchange.Services.OData.Web.HttpHandler.EndProcessRequest (IAsyncResult结果)+24 System.Web.CallHandlerExecutionStep.OnAsyncHandlerCompletion(IAsyncResult ar)+282 版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.36215 ===结束错误消息===

如何在Rails中捕获整个应用程序的ArgumentError?

环境 铁路3.1 Ruby 1.9.1 我已经尝试过application_controller但似乎没有用。 我可能做错了什么? rescue_from ArgumentError do |exception| flash.now[:error] = “Arguments for your request are incorrect” #ExceptionNotifier::Notifier.background_exception_notification(exception).deliver if Rails.env.production? redirect_to root_url, :alert => exception.message end 我试图处理的例外情况 A ArgumentError occurred in marketplace#index: invalid byte sequence in UTF-8 .bundle/gems/ruby/1.9.1/gems/rack-1.4.5/lib/rack/utils.rb:104:in `normalize_params’ 要么 A ArgumentError occurred in connect#index: invalid %-encoding (%u2713) .bundle/gems/ruby/1.9.1/gems/rack-1.4.5/lib/rack/backports/uri/common_192.rb:46:in `decode_www_form_component’