小编Rub*_*012的帖子

如何通过rake任务导入CSV文件?

我知道这个问题已经在这个论坛上被问了很多,但是我在一个严格的截止日期前,我需要一些帮助,所以任何建议都非常感谢.我是Ruby on Rails的新手,所以请在回复时记住这一点.我想创建一个rake任务,在运行时,更新mysqlite db中的多个表.这是一个在我的数据库中创建新事件的迁移文件.如何创建rake任务,通过CSV文件输入所有这些信息.有人可以从头到尾写一些rake文件给我一些帮助.显然你不需要为每个字符串编写每个任务,只需举几个例子.除了实际的rake文件之外,我是否需要将代码添加到我的应用程序的任何其他部分(我知道这是一个非常一般的问题,但如果我确实需要添加代码,我将非常感谢对其中的一般描述).我觉得会有一些指导意见.如果有人需要我的任何更多信息,请询问.

class CreateIncidents < ActiveRecord::Migration
  def self.up
    create_table :incidents do |t|
      t.datetime :incident_datetime
      t.string :location
      t.string :report_nr
      t.string :responsible_party
      t.string :area_resident
      t.string :street
      t.string :city
      t.string :state
      t.string :home_phone
      t.string :cell_phone
      t.string :insurance_carrier_name
      t.string :insurance_carrier_street
      t.string :insurance_carrier_city
      t.string :insurance_carrier_state
      t.string :insurance_carrier_phone
      t.string :insurance_carrier_contact
      t.string :policy_nr
      t.string :vin_nr
      t.string :license_nr
      t.string :vehicle_make
      t.string :vehicle_model
      t.string :vehicle_year


      t.timestamps
    end
  end

  def self.down
    drop_table :incidents
  end
end
Run Code Online (Sandbox Code Playgroud)

rake ruby-on-rails import-from-csv

21
推荐指数
2
解决办法
2万
查看次数

heroku pgbackups - 它是如何工作的?

我正在尝试使用pgbackups将数据库从现有应用程序迁移到新应用程序,但我遇到了问题.我已经阅读了heroku的开发站点上的文档,但我仍然遇到错误.

我已经为两个数据库安装了插件,我可以成功转到我的源数据库并复制/捕获它.

$ heroku pgbackups:capture -a costrecovery --expire

HEROKU_POSTGRESQL_ONYX_URL (DATABASE_URL)  ----backup--->  b007

?[0KCapturing... doneB -
?[0KStoring... done
Run Code Online (Sandbox Code Playgroud)

然后我切换到我要复制数据库的应用程序目录,并按照heroku列出的说明进行操作.问题是我不知道它是否不起作用,因为它们是一个错误,或者是因为我没有正确解释说明,这是完全可能的.首先,我将列出来自heroku的开发站点的指令,然后列出我尝试过的命令.

HEROKUS说明

$ heroku pgbackups:restore DATABASE -a target-app \
    `heroku pgbackups:url -a source-app`
Run Code Online (Sandbox Code Playgroud)

命令我已经尝试过了

$ heroku pgbackups:restore DATABASE_URL -a boiling-reef-2060 \
> heroku pgbackups:url -a costrecovery
!    Backup not found


$ heroku pgbackups:restore HEROKU_POSTGRESQL_GREEN_URL -a boiling-reef-2060 \
> 'heroku pgbackups:url -a costrecovery'
!    Backup not found


$ heroku pgbackups:restore DATABASE -a boiling-reef-2060 \
> 'heroku pgbackups:url -a costrecovery'
!    Backup not found


$ …
Run Code Online (Sandbox Code Playgroud)

postgresql heroku ruby-on-rails-3

4
推荐指数
1
解决办法
1866
查看次数

将两个数组组合成一个哈希

我正在尝试将两个数组合并为一个哈希.

@sample_array = ["one", "Two", "Three"]
@timesheet_id_array = ["96", "97", "98"]
Run Code Online (Sandbox Code Playgroud)

我想将结果输出到名为@hash_array的哈希中.有没有一种简单的方法将两者组合在一个代码块中,这样如果你在最后调用puts,它在控制台中看起来就像这样

{"one" => "96", "Two" => "97", "Three" => "98"}
Run Code Online (Sandbox Code Playgroud)

我认为这可以用一行或两行代码完成.

ruby arrays hash

3
推荐指数
2
解决办法
4586
查看次数

form_for方法中的参数数量错误(3表示2)

我已升级到rails 3.2.13并且我正在迁移旧应用程序以在新环境中运行(ruby1.9.3).该应用程序与ruby192和rails 3.0.0运行良好.

我在尝试创建新记录时遇到此错误(消防员)

错误的参数数量(3个用于2)

这是我的表格代码

<%= form_for :fire_fighter, @fire_fighter, :url => { :action => "create" } do |f| %>
Run Code Online (Sandbox Code Playgroud)

基于阅读其他帖子,他们建议删除"fire_fighter",但它看起来像这样

<%= form_for :@fire_fighter, :url => { :action => "create" } do |f| %>
Run Code Online (Sandbox Code Playgroud)

这实际上允许页面呈现,但是当我尝试输入填充文本字段并在数据库中提交或创建记录时,我收到一条内置在应用程序中的错误消息:这些字段都留空了

所有字段都设置为字符串.

哦,显然我在提交之前填写了所有这些字段.所以现在我只是卡住了.

任何帮助将不胜感激.

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

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

比较散列中的值并返回匹配的键

我正在尝试查看哈希并将其值与现有字符串进行比较,然后在找到匹配项时我想输出其密钥.我试图在代码块中写这个并将结果输出到控制台.

officer.name = "Dave"

@hash = { "Tom" => "97", "Dave" => "98", "John" => "99" }

@hash.each { |key, value| do
    if #{key} == officer.name
        puts "id: #{value}"
    else
        puts "no match"
    end
}
Run Code Online (Sandbox Code Playgroud)

现在我的控制台输出:

 id: 97
 no match
 id: 98
 no match
 id: 99
 no match
Run Code Online (Sandbox Code Playgroud)

我试图让它只输出#{value}的值,基于匹配的#{key},在这种情况下是Dave.所以对于上面的例子,我希望我的控制台只吐出数字98或"不匹配".

ruby arrays hash key-value-observing ruby-on-rails-3

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