草庐IT

before_migrate

全部标签

ruby-on-rails - 我如何 before_filter Module::Class::method?

我的Rails项目中有一个自定义模块,我希望它成为一个before_filter,是否存在我能做些什么?before_filterTokenGenerator::Generator.generate_token("mytoken") 最佳答案 您可以使用blockasabefore_filter:before_filterdo|controller|TokenGenerator::Generator.generate_token("mytoken")end或者您可以创建一个单独的类:classTokenFilterdefself.f

ruby - rake 数据库 :migrate is throwing BusyException: database is locked exception

我正在学习MichaelHartl的RubyonRails教程,在第6章中我被指示创建一个新的迁移以将索引添加到用户表中的电子邮件列。这是我的迁移:defself.upadd_index:users,:email,:unique=>trueenddefself.downremove_index:users,:emailend当我运行rakedb:migrate时,它​​会思考一秒钟,然后抛出一个BusyException并说数据库已锁定。数据库是一个sqlite3数据库,存储在我本地机器上我的用户文件夹中;没什么特别的。非常感谢任何帮助。 最佳答案

ruby - 为什么我不能得到 rake db :migrate to work for ruby. railstutorial.org

我决定完成教程。在我创建一个新的应用程序并添加新的user:stringemail:string然后在应用程序目录中执行rakedb:migrate之后,我得到了这个输出:rakeaborted!undefinedmethod`task'for#/usr/local/rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/railties-3.0.7/lib/rails/application.rb:215:in`initialize_tasks'/usr/local/rvm/gems/ruby-1.9.2-p180@rails3tutorial/ge

ruby-on-rails - 执行 rename_table_migration 后重命名 Rails 中的原始迁移文件

我碰巧在Rails中创建了一个Query模型,最近发现这是现在的保留字之一..我使用新的迁移文件重命名了表,并重命名了所有创建的文件(新模型的名称-Plot)问题:将原来的迁移文件(20111228212521_create_queries.rb)重命名为20111228212521_create_plots.rb可以吗以及旧文件中的所有内容:classCreateQueries到classCreatePlots??我只是不想太多的迁移文件,也担心切换到生产时可能会出现一些错误.. 最佳答案 您可以更改迁移文件名,但您必须执行几个步

ruby-on-rails - 我如何运行 rake db :migrate in automated deploy with heroku or heroku-api gem?

我在rake任务中使用它:client=Heroku::Client.new('','heroku-api-key')client.rake'my-app-name','db:migrate'我得到的只是RestClient::UnprocessableEntity:422不可处理的实体。其他命令也行,比如client.ps('my-app-name')herokuclient.rb使用rake(app_name,cmd)所以我不确定哪里出了问题。我看不到调试响应的方法,即使在使用RESTCLIENT_LOG=stdout时也是如此。 最佳答案

ruby-on-rails - 创建表而不在 db/migrate rails 中指定

我的article.rb模型在rails中有以下结构property:artikelnummer,type:'string',index:'not_analyzed'property:eannummer,type:'string',index:'not_analyzed'property:bezeichnung,type:'multi_field',fields:{bezeichnung:{type:'string'},ngram:{:type=>'string',:index_analyzer=>'ngram_index_analyzer',:search_analyzer=>'ng

ruby-on-rails - rake db :migrate 的奇怪错误

我用谷歌搜索了一下,上面似乎什么都没有。尝试为我的项目设置设计时发生此错误。使用gem"devise"将devise捆绑安装到我的Gemfile后,我运行了railsgdevise:install,然后运行了railsgdeviseauthorize。设计授权创建了一些数据库迁移,并且在迁移这些更改后,我得到了这个:rakeaborted!StandardError:Anerrorhasoccurred,thisandalllatermigrationscanceled:wrongnumberofarguments(2for1)/home/josh/.rvm/gems/ruby-2.0

ruby-on-rails - Rails Active Record 在 before_create 回调中取消(保存或创建)而不引发异常

实际上,我想测试一个模型回调。system_details.rb(模型)classSystemDetailprevent_if_same方法工作正常并按预期工作,但它在返回false时引发异常ActiveRecord::RecordNotSaved,并且该异常中断了rspec测试.我想要的是,它应该在不引发异常的情况下静默取消保存。system_detail_spec.rb(rspec)require'rails_helper'RSpec.describeSystemDetail,:type=>:modeldocontext'#agent'doit'Checksbrowserinsta

ruby-on-rails - 在其他人之后运行 Rails Controller before_action 回调

有没有一种简单的方法可以附加到Rails中Controller的before_action列表,这样以后添加的其他before_action回调将在我的回调之前而不是之后运行?我的用途是我担心其他Controller会包含,我希望包含它的Controller能够添加自己的before_action方法,然后在之后调用我的方法之一所有这些,但仍在实际行动之前。因为它是一个相当大的代码库,有很多开发人员,为了可用性,我不希望每个关注这个问题的用户都必须执行prepend_before_action或必须记住include我的模块在他们声明回调之后而不是在类的顶部。我很确定没有内置的方法可以

ruby-on-rails - 使用 before_action 过滤器的 RSPEC 测试索引操作

我有一个before_action过滤器,想测试索引操作是否仅在用户登录时执行。简而言之,我不知道该怎么做。我正在使用我自己的简单例份验证,我知道我可以使用CanCan或类似的,但为了我自己的学习,我正在以艰难的方式进行!ApplicationController.rbhelper_method:logged_inhelper_method:current_userdefcurrent_user@current_user||=User.find_by_id(session[:current_user])ifsession[:current_user]enddeflogged_inunl