まだ私の最初の Rails プログラム (Ruby 2.0、Rails 4.0) をプラグインしています。メイン モデル「連絡先」には、「色」テーブルのフォームにドロップ ダウンが含まれている必要があります。Color モデルを追加し、html ドロップダウンを作成して、Color モデルをシードしようとしています (現在、ドロップダウンには空のメニューが表示されています)。2 つの配列から Seeds.rb に Color を入力しており、両方の配列が文字列値 (それぞれの Color 移行列と同じ値) でいっぱいであることを確認しました。配列値を Color テーブルに入れようとすると、適切な数のエントリが作成されます (私の配列はそれぞれ 140 要素のサイズです) が、すべてのエントリは両方の列で nil です。
以下は私のseeds.rbです
追加の総初心者の質問?コードを入力する代わりに、Linux マシンの Stackoverflow にコードを貼り付けるにはどうすればよいですか?
colors = Array.new
colors = File.readlines("db/seeds/colornames.csv").map! {|name| name.chomp}
hexes = Array.new
hexes = File.readlines("db/seeds/colorhexes.csv").map! {|hex| hex.chomp}
Color.delete_all #because I keep having to reseed
x = 0
colors.each do |color|
Color.create!(:name => color, :hex => hexes[x])
x+=1
end
そして contact.rb
class Contact < ActiveRecord::Base
attr_accessible :first_name, :last_name, :email, :zip_code, :favorite_color, :color_id #I have brought in the right gem to use this older method
belongs_to :color
#validation of fields other than :favorite_color in here. Nothing pertinent to this q
#favorite color validation
validates_presence_of :favorite_color
end
と color.rb
class Color < ActiveRecord::Base
has_many :contacts
end