草庐IT

insert_after

全部标签

ruby-on-rails - 跳过 after_commit on destroy in rails

我想在destroy一个对象时跳过after_commit回调,而不是使用on语法明确指定方法列表.IE。像这样的东西:after_commit:foo,except:[:destroy] 最佳答案 我在RubyTips上找到了一种方法:after_commit:foo,if::persisted?或者对于更复杂的条件:after_commit,:foo,if:Proc.new{|record|record.persisted?&&[...]} 关于ruby-on-rails-跳过aft

ruby-on-rails - rails : Access parameters in view after form submission

在我的Rails3.2项目中,我有一个用于在app/views/sites/中的new.html.erb中创建新站点的表单......然后是sites_controller.rb中的create函数defcreate@site=Site.new(params[:site])respond_todo|format|if@site.saveformat.html{redirect_to@site}elseformat.html{renderaction:"new"}endendend然后在用户提交之后,我想在show.html.erb中显示用户刚刚提交的hash_nameYoujustpu

ruby-on-rails - 子级的 after_destroy 回调保存了父级的依赖性,当父级被销毁时会导致问题

我有一种情况,我想在另一个对象被销毁后更新父对象的依赖项。这是类层次结构的示例:classParent:destroyhas_many:conditions,:dependent=>:destroy....endclassInfofalse)end....end问题是,当父级被销毁时,它会销毁条件,然后触发after_destroy回调并在它已经被销毁后保存信息对象。所以在父级被销毁后信息仍然存在。如果我不绕过验证,保存将默默地失败,这是我不希望的。并使用保存!引发异常。Condition上的回调必须是after_destroy,否则Info上的重新计算方法将无法正确表示关系状态来计算

ruby-on-rails - After_save 带参数

这是我的模型代码:after_create:notify_cards_createafter_destroy:notify_cards_destroyafter_update:notify_cards_updatedefnotify_cards_updateWebsocketRails[:home].trigger'cards',{type:'update',card:self.as_json({small:true})}enddefnotify_cards_createWebsocketRails[:home].trigger'cards',{type:'create',card:s

ruby-on-rails - after_commit 真的运行了吗?

我在Rails3.0.8上并尝试使用after_commit回调。它在这里定义:https://github.com/rails/rails/blob/v3.0.8/activerecord/lib/active_record/transactions.rb#L210这里提到它是回调之一:https://github.com/rails/rails/blob/v3.0.8/activerecord/lib/active_record/callbacks.rb#L22考虑一下:classCar知道为什么它不起作用吗?我假设我正在正确使用它。 最佳答案

ruby-on-rails - 当还使用 after_initialize 回调时,如何解决 ActiveRecord (Rails 3) 中的 n+1 查询问题?

型号:classProject查找项目的语句:@projects=Project.includes(:user_roles)所以你可以看到,我告诉它在查询中包含用户角色关联。但是,我仍然看到n+1查询问题:它为每个项目找到一次角色。如果我从回调中删除self.user_roles的使用并查看日志,我可以看到它在2个查询中找到项目及其用户角色-一个用于项目,一个用于项目对于使用project_idin(1,2,3,4,5...,n)的角色。有没有办法解决这个问题?让我稍微澄清一下:虽然我愿意根据需要解决我的具体情况,但我更喜欢侧重于如何解决一般问题的答案。我能够编写一个kludge来获取

ruby-on-rails - rails 中的更新路线对 after_action react 不佳?

classFrogsController大家好。我想知道是否有人可以向我解释为什么rails中的更新路线不能将我的重定向后操作(底部的自定义方法)带回家。当我在after_action中包含更新时得到的错误是“缺少模板Frog/更新”。这将导致我在更新方法中手动添加redirect_tofrogs_path。谢谢! 最佳答案 after_action回调在操作完成后触发。您不能使用它来呈现或重定向。通过调用方法在操作本身中执行此操作:defupdate...redirect_homeend

html - Rails 如何将参数从 Controller 传递到模型内部的 after_save

我有一个Rfqcontoller我正在创建新的或更新现有的Rfq,当我创建或更新对象被保存时,我想要的是因为我有很多引号参数我想用参数中的引号更新line_items表保存Rfq后在quote_price列中[:quotes]我知道这很令人困惑,但是谁是ror-ish应该知道我想问的一些提示。 最佳答案 如果您试图在您的模型中使用params散列,那么您就违反了MVC的原则。该模型应该独立于参数。如果您正在尝试执行以下操作:#controllerModel.foo#modeldeffooparams[:bar].reverse!en

ruby-on-rails - heroku 上的 Rails : after push, 得到 "PG::UniqueViolation: ERROR: duplicate key value violates unique constraint"

这已经被问过好几次了(here和here等等)。每次我将我的Rails应用程序推送到Heroku时(至少在过去的几个月里,我会说),我都必须使用熟悉的方法重置我的keyActiveRecord::Base.connection.tables.each{|t|ActiveRecord::Base.connection.reset_pk_sequence!(t)}咒语。否则,当我尝试创建新记录时,我会遇到这样的postgresql故障:PG::UniqueViolation:ERROR:duplicatekeyvalueviolatesuniqueconstraint"users_clie

ruby-on-rails - 为什么 rails 在 insert 语句中手动指定主键 id?

我正在使用railshas_many_belongs_to_many关联,如下所示:classMemberRole我的连接表如下:CREATETABLEMEMBER_ROLES_PERMISSIONS(member_role_idNUMBER(38,0)NOTNULLREFERENCESmember_roles,permission_idNUMBER(38,0)NOTNULLREFERENCESpermissions);当我尝试按如下方式创建新记录时:role=MemberRole.create(name:role_params["name"],org_id:role_params["