草庐IT

ruby-on-rails - Ruby on Rails : If you have 50 if-else statements in your after_create action, 会减慢您的应用程序吗?

使用50个if-else语句对于一项操作来说是否过于耗费资源?我正在做这样的事情:ifteam.players.count>1assign_team_type(..)elsifteam.players.count>3assign_team_type(..)...etc....end此外,将50个if-else语句放在Controller内的create操作中而不是after_create方法是否更有效?还是改用caseswitch语句或完全避免使用它会更有效?编辑:感谢您的快速回复!该代码用于社区体育锦标赛,根据该队的球员人数分配球队。我正在尝试编写一些东西,根据添加到该团队的玩家数量

ruby oracle-enhanced stuck connection after sleep

感谢您的关注。在一段空闲时间后,我们遇到了卡住的连接问题,我们将不胜感激任何帮助或尝试的事情。我们在jruby1.7.2上的Sinatra应用程序中使用activerecord-oracle_enhanced-adapterv1.4.1和ojdbc6.jar。我的Controller调用一个辅助类方法并返回一个json字符串。辅助类方法只是查询Oracle数据库中的数据。代码如下所示:classAppe   puts3   putse.message  ensure   puts4ActiveRecord::Base.clear_active_connections!   puts5 

ruby-on-rails - 系统堆栈错误 : level too deep after running db:seed

我在删除一些模型时遇到了一些麻烦,所以我决定删除整个表并重新运行迁移以重新开始。然而,在运行db:seed之后(即使种子完全是空的)我得到以下错误:**Invokedb:seed(first_time)**Executedb:seed**Invokedb:abort_if_pending_migrations(first_time)**Invokeenvironment(first_time)**Executeenvironment**Executedb:abort_if_pending_migrationsrakeaborted!SystemStackError:stacklevel

ruby-on-rails - rails : correct redirect but incorrect URL in address bar after creating into DB

在我的Rails应用程序中,我有一个这样的创建按钮defcreate@client=Client.find(params[:client_id])@inventory=@client.inventories.create(params[:inventory])redirect_toclient_path(@client)end创建库存时(作为客户端的一部分,例如客户端有很多库存,库存属于客户端),库存被添加到数据库中的客户端,并重定向到localhost:3000/client/(无论是客户ID是)但是,我的程序有问题,因为尽管它进行了正确的重定向,但在我推送创建后地址栏中的地址是lo

ruby-on-rails - 如何 stub after_create 回调保存!在模型中?

我收到以下错误:输出:1)LabelsController#createlabelisnewcreatesanewlabelFailure/Error:post:create,attributes[:label],format::jsonNoMethodError:undefinedmethod`save!'fornil:NilClass#./app/models/labeling.rb:17:in`update_target'在标签模型中:after_create:update_targetdefupdate_targetself.target.save!end测试:require'

ruby - RVM after_cd Hook

我正在尝试使用RVMhooks在我使用Rails应用程序cd进入目录后运行命令。我的~/.rvm/hooks/after_cd的内容是:echo"Nowusing$rvm_ruby_string"我的~/.rvm/hooks/after_use的内容是:echo"Nowusing$rvm_ruby_string"当我执行$rmvuse1.9.2时,我看到了我的回声,但是当我cd进入我的应用程序的rails根目录时,我没有得到任何回声.我使用的after_cd钩子(Hook)错了吗?$rvm-v说:rvm1.0.8byWayneE.Seguin(wayneeseguin@gmail.co

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