jjzjj

before-filter

全部标签

ruby-on-rails - Rails 3. before_destroy 验证以防止删除父记录

我有发货和发票。发票属于出货cargo有一张发票如果货件确实有发票,则不应删除货件。我需要在模型中进行设置,因为我使用的是ActiveAdmin。所以我在shipment.rb中这样做了has_one:invoicebefore_destroy:check_for_invoiceprivatedefcheck_for_invoiceunlessinvoice.nil?self.errors[:base]但我只是收到一条黄色消息,提示“货件无法删除”,但实际上它已被删除。如何防止货件被删除? 最佳答案 before_destroy回调

ruby - before_session Hook 失败:Pry::CommandError:找不到此方法:加载

在Ruby脚本中加载PryREPL我得到了这个奇怪的错误:before_sessionhookfailed:Pry::CommandError:Cannotlocatethismethod:load.~/.rvm/gems/ruby-2.0.0-p195/gems/pry-0.9.12.2/lib/pry/method.rb:498:in`pry_doc_info'(see_pry_.hooks.errorstodebug)知道问题出在哪里吗?注意事项:1.除了那个神秘的消息之外,代码似乎执行得很好,并且2.我找不到“_pry_.hooks.errors”文件

ruby-on-rails - 如何在 Rails3 应用程序中的所有其他 Controller before_filters 之后在 gem 中附加 before_filter?

有一个gem,它附加一个before_filter到Rails应用:classRailtie这是应用程序中的一些Controller:classDesktopsController现在的问题是,来自gem的before_filter被放入来自DesktopsController的before_filter之前的过滤器链中:DesktopsController._process_action_callbacks.select{|c|c.kind==:before}.collect{|filter|filter.filter}=>[[0]:set_locale,[1]:set_langua

ruby - RSpec 的 before、after 和 around 钩子(Hook)以什么顺序运行?

当我面对someissue我决定检查before和afterHook的执行顺序。这就是我所做的:require"spec_helper"describe"Theorder:"dobefore(:all){puts"before_all"}after(:all){puts"after_all"}before(:each){puts"before_each"}after(:each){puts"after_each"}describe"DESCA"dobefore{puts"A_before"}it"A_it_1"doexpect(1).toeq(1)endit"A_it_2"doexpe

ruby-on-rails - Rails 3 做 skip_before_filter 的方法,:only

在rails2.8中我们可以这样写skip_before_filterskip_before_filter:require_login,:only=>[:create,:new,:accept]这意味着,我只想将过滤器require_login应用于这些操作[:create,:new,:accept],并跳过其他操作的过滤器。不过好像,这条路是deprecated在rails3中。和新的skip_filter被添加。我试过了skip_filter:require_login,:only=>[:create,:new,:accept]但它不起作用,所以我如何在Rails3中执行此操作。

ruby-on-rails - Elasticsearch /轮胎 : How do I filter a boolean attribute?

我想过滤我类(class)的私有(private)bool值,以便它只显示非私有(private)但对我不起作用的资源。(我大大简化了代码)mappingdoindexes:private,type:"boolean"indexes:name,type:"string"endenddefself.search(params)tire.search(load:true,page:params[:page],per_page:20)doquery{stringparams[:query]}ifparams[:query].present?#SofarI'vetried...#filter:

ruby-on-rails - 是否可以添加 "somewhere"一个 `before(:each)` Hook ,以便所有规范文件都可以运行它?

我正在使用RubyonRails3.2.2和rspec-rails-2.8.1。为了使我的规范文件干(不要重复自己)并为测试数据库做种子,我想运行一个before(:each)Hook所有这些规范文件。也就是说,在我所有的规范文件中,我都有以下代码:describe'testdescription'dobefore(:each)doload"#{Rails.root}/db/seeds.rb"end...end是否可以在before(:each)Hook的“某处”添加,以便所有规范文件都可以运行它?您有什么建议? 最佳答案 在spe

ruby - 多个 Controller 之间共享的 before_filter 放在哪里

我有多个Controller,它们都使用相同的before_filter。为了让事情保持干燥,这个方法应该放在哪里以便所有Controller都可以使用它?模块似乎不是正确的位置,但我不确定为什么。我不能将它放在基类中,因为Controller已经有不同的父类(superclass)。 最佳答案 如何将您的before_filter和方法放在一个模块中,并将其包含在每个Controller中。我会将此文件放在lib文件夹中。moduleMyFunctionsdefself.included(base)base.before_filt

ruby - 如何将 before_filter 应用于 Rails 3.2.11 中每个 Controller 的每个操作?

我想验证用户是否在对服务器的每个请求中登录。类似于::before_filterverify_logged_in我应该把before_filter放在哪里,以便它适用于所有Controller操作和所有请求? 最佳答案 为确保过滤器适用于所有操作,将其放在application_controller.rb中。 关于ruby-如何将before_filter应用于Rails3.2.11中每个Controller的每个操作?,我们在StackOverflow上找到一个类似的问题:

ruby-on-rails - 为什么在 Controller 被子类化时 Rails before_filter 被调用两次?

我在使用Rails2.3.5,我遇到了这个问题:classBaseController[:index]endclassChildController[:index,:show,:other,:actions]end问题是在ChildController上,过滤器之前的:foo被调用了两次。我已经尝试了很多解决这个问题的方法。如果我不在子项中包含:index操作,则永远不会为该操作调用它。我找到的解决方案有效,但我认为它非常难看skip_before_filter:foobefore_filter:foo,:only=>[:index,:show,:other,:actions]有没有更