相关疑难解决方法(0)

如何从 heroku 上的 rake 任务访问文件?

我正在尝试在 Rails 应用程序中播种数据,尤其是使用载波的应用程序。我正在使用在 stackoverflow 上找到的 2 个不错的解决方案的组合!

rake 任务 + yml 文件用于播种

播种载波

我有以下几点:

namespace :db do
  desc "This loads the development data."
  task :seed => :environment do
    require 'active_record/fixtures'
    Dir.glob(RAILS_ROOT + '/db/fixtures/*.yml').each do |file|
      base_name = File.basename(file, '.*')
      puts "Loading #{base_name}..."
      ActiveRecord::Fixtures.create_fixtures('db/fixtures', base_name)
    end
    #add in the image file for the default data
    for item in Item.find(:all)
      item.filename.store!(File.open(File.join(Rails.root, "app/assets/images/objects/" + item.name.gsub(/ /,'').downcase + ".svg")))
      item.save!
    end
  end

  desc "This drops the db, builds the db, and seeds the data." …
Run Code Online (Sandbox Code Playgroud)

database heroku ruby-on-rails-3

6
推荐指数
1
解决办法
1812
查看次数

Rails模型验证器打破了早期的迁移

我在rails应用程序中有一系列迁移,其中包括以下步骤:

  1. 创建"用户"模型的基本版本
  2. 创建此模型的实例 - 系统中至少需要一个初始用户,以便您可以登录并开始使用它
  3. 更新"用户"模型以添加新字段/列.

现在我在这个新字段/列上使用"validates_inclusion_of".这在我的初始开发机器上运行良好,该机器已经有一个应用了这些迁移的数据库.但是,如果我转到新计算机并运行所有迁移,则第2步失败,因为validates_inclusion_of失败,因为迁移3中的字段尚未添加到模型类中.

作为一种解决方法,我可以注释掉"验证_..."行,运行迁移并取消注释,但这并不好.

更好的方法是重新排序我的迁移,以便在添加所有列之后,用户创建(步骤2)最后.

我是铁杆新手,所以我想我会问这种情况的首选方法是:)

migration validation ruby-on-rails

5
推荐指数
2
解决办法
1078
查看次数

Rails - 在部署中自动填充表中的数据 - 角色

在我的应用程序中,我有一个ROLES表.很简单:1:Admin,DESC东西2:Guest,Desc stuff

等等..

我刚刚遇到的问题是我在heroku上部署应用程序并且一切都坏了,原因是数据库中的这些默认角色没有在部署中填充...我没想过的东西.

使用Rails 3,有没有办法说,你好Rails先生,这是表的默认值吗?在迁移或数据库创建?

谢谢

ruby-on-rails ruby-on-rails-3

2
推荐指数
1
解决办法
938
查看次数

Rails:通过迁移创建默认root用户?耙任务?

我在Heroku上测试我的应用程序(这太棒了!)我意识到我无法创建我的root用户.

我正在使用Authlogic和rails_authorization_plugin.

有没有我可以在我的一个迁移文件中添加一个部分来添加此用户并为其分配角色root?或者我可以通过rake任务执行此操作吗?

任何见解将不胜感激!

migration rake ruby-on-rails rails-authorization authlogic

0
推荐指数
1
解决办法
3148
查看次数