草庐IT

after_login_page

全部标签

ruby-on-rails - Ruby on Rails - after_validation 是否有效?

现在,据我所知,即使模型未通过验证,after_validation也会被调用。有没有办法只在模型有效时调用它?我尝试在after_validation方法中添加returnfalseunlessself.valid?但这会再次触发验证并创建无限循环。 最佳答案 失败的验证会增加记录的错误,因此您可以检查:returnfalseunlessself.errors.empty? 关于ruby-on-rails-RubyonRails-after_validation是否有效?,我们在Sta

ruby-on-rails - 'after_filter' 如何/何时工作/运行?

我正在使用RubyonRails3.1,我想知道(出于性能原因)after_filter是否在呈现View文件后运行。也就是说,当用户访问我的应用程序URL时,他/她应该显示的相关View文件在after_filter运行之前呈现,或者after_filter在运行之前呈现查看文件是否呈现?换句话说,应用程序服务器在运行after_filter或它等待运行after_filter方法,然后才发送该View数据?P.S.:我打开这个问题是因为我想运行一些系统更新(注意:这些更新不会影响View输出数据并且不会“被使用”通过“/”View所必需的)而不影响最终用户体验(例如:我的应用程序网

ruby - zsh : command not found: bundle (after gem install bundle)

为什么zsh:commandnotfound:bundle在geminstallbundler之后?我尝试设置path=(/usr/local/lib/ruby/gems/2.2/gems/~/bin/bin/sbin/usr/bin/usr/sbin/usr/local/bin/usr/local/sbin)在/etc/zshrc和source/etc/zshrc中无济于事。root@dev:/home/dev#geminstallbundlerSuccessfullyinstalledbundler-1.7.12Parsingdocumentationforbundler-1.7.

ruby-on-rails - 未定义方法 `cache' 为 nil :NilClass after upgrading to rails 4. 2.5.1

从Rails4.2.5升级到最近发布的4.2.5.1时,我遇到了这个错误。此错误仅适用于具有呈现无效状态的before_filter的规范,例如renderfile:"public/422",status::unauthorized。我在ruby​​-2.2.2和ruby​​-2.3.0上都收到了这个错误错误存在于action_view解析器方法中,暗示@cache值为nil。然而,在initialize方法中它应该被实例化:@cache=Cache.new我仍在研究可重现的样本,但到目前为止我还不知道@cache怎么可能是nil。这些是在我的test.rb环境中设置的配置变量conf

ruby-on-rails - Rails 3 额外的 session 配置选项(key、expires_after、secure)

谁能指出新的Rails3.xsession配置选项是什么?我正在尝试复制我在Rails2.3.x应用程序中的相同配置。这是我在应用程序中使用的配置:#environment.rbconfig.action_controller.session_store=:active_record_storeconfig.action_controller.session={:key=>'_something',#non-securefordevelopment:secret=>'reallylongrandomstring'}#production.rb-overrideenvironment.r

ruby-on-rails - rails 4 : Flash message persists for the next page view

我在布局中使用以下代码来显示两种类型的即显消息:它们都工作正常,但无论何时触发一个,它仍会出现一次额外的页面View。我没有使用任何缓存gem。为什么会这样?我该如何解决? 最佳答案 使用flash.now而不是flash.flash变量旨在在redirect之前使用,并且它会在一个请求的结果页面上持续存在。这意味着如果我们不redirect,而不是简单的render一个页面,flash消息将持续存在两个请求:它出现在呈现的页面上但仍在等待重定向(即第二个请求),因此如果您单击链接,消息将再次出现。为了避免这种奇怪的行为,在渲染而不

ruby-on-rails - 使用 RSpec 和模拟测试 after_commit

我有一个模型Lead和一个回调:after_commit:create,:send_to_SPL我正在使用Rails-4.1.0、ruby-2.1.1、RSpec。1)此规范未通过:context'callbacks'doit'shallcall\'send_to_SPL\'aftercreate'doexpect(lead).toreceive(:send_to_SPL)lead=Lead.create(init_hash)plead.new_record?#=>falseendend2)这个规范也没有通过:context'callbacks'doit'shallcall\'send

ruby-on-rails - Kaminari & Rails 分页 - 未定义的方法 `current_page'

我搜索了又搜索,但没有解决我的问题。这是我的Controller:defshow@topic=Topic.find(params[:id])@topic.posts=@topic.posts.page(params[:page]).per(2)#2fordebuggingend这很好用,因为主题View被缩减为两个帖子。但是,当我将其添加到show.html.erb时:我收到这个错误:undefinedmethod`current_page'for# 最佳答案 尝试:defshow@topic=Topic.find(params[:

ruby - 页面对象模型 : why not include assertions in page methods?

第一张海报。我从事UI自动化工作多年,但直到最近才被介绍/受命使用页面对象模型。其中大部分是常识,包括我已经使用过的技术,但有一个特别好的地方我无法在自己的脑海中证明,尽管广泛搜索了合理的解释。我希望这里有人能启发我,因为这个问题在我尝试将POM与我自己的最佳实践集成时引起了一些惊愕。来自http://code.google.com/p/selenium/wiki/PageObjects:Thecodepresentedaboveshowsanimportantpoint:thetests,notthePageObjects,shouldberesponsibleformakingas

ruby-on-rails - rails 回调中 after_create、after_save 和 after_commit 之间的区别

Rails中after_create、after_save和after_commit的区别在于:after_save在创建和更新对象时调用after_commit在创建、更新和销毁时被调用。after_create仅在创建对象时调用这是它们之间唯一的区别,还是还有其他主要区别? 最佳答案 你几乎做对了。但是after_commit和after_create或after_save之间有一个主要区别,即在after_create的情况下,这将始终在调用保存(或创建)返回之前。Rails将每个保存都包装在一个事务中,并且创建之前/之后的回