seed.rb内で、1つのtitle-1.txtファイルからのテキストデータを4列に入力しています。
title = File.read(File.join(Rails.root, '/features/support/titles/title-1.txt'))
1.upto(4) do |i|
PressRelease.create(
:title => title
)
end
各列に、さまざまなtxtファイル(title-1.txt、title-2.txt、...)のさまざまなコンテンツを入力したい
私はこれを作ることができることを知っています:
1.upto(4) do |i|
PressRelease.create(
:title => File.read(File.join(Rails.root, '/features/support/titles/title-' + "#{i}" +'.txt'))
)
end
簡単にするために、title変数を次のように変更してみました:(
タイトルに注意してください-"#{i}")
title = File.read(File.join(Rails.root, '/features/support/titles/title-' + "#{i}" + '.txt'))
しかし、私はこのエラーを受け取ります:
main:Objectの未定義のローカル変数またはメソッド `i'
再利用可能で短い変数を作成して、反復で使用できるようにするためのヒントはありますか?
--更新 -
この投稿には完全な解決策はありません。@PaulFioravantiの回答から、コードを短縮する別の方法を入手しました。URLは、次のようにFile.openメソッドを使用せずに変数に格納する必要があります。
title_url = '/features/support/titles/title-' + '%s' + '.txt'
1.upto(4) do |i|
PressRelease.create(
:title => File.read(File.join(Rails.root, "#{title_url %i}"))
)
end