私はこれを数日間処理しようとしていますが、何も機能しません。私は、Michael Hartl のすばらしいチュートリアル ( http://ruby.railstutorial.org/ ) に基づいて、最初のアプリを作成しています。さらに、このチュートリアルを試してみましたが、私のコードと彼のコードの違いが大きすぎて従うことができませんでした。
私のアプリが Michael Hurtl のアプリと異なるところは、残りのペンキの缶を投稿できるサイトを作成しようとしているということです (マイクロポスト、AKA twitter の代わりに)。アプリを作成したとき、Paints モデルに「color_family」という列がありました。今、私はそれをテキストフィールドから、「赤」、「オレンジ」、「黄」、「緑」などの所定の値を持つドロップダウンに変更しようとしています.
新しい足場を生成することから始めました。
rails generate scaffold Color_Family family:string
次に、移行を生成しました。
rails generate migration AddColor_FamilyToPaints family_id:int
すべて移行しました。
次に、関連付けを作成しました
class ColorFamily < ActiveRecord::Base
has_many :paints
end
と
class Paint < ActiveRecord::Base
attr_accessible :family_id, :name, :hex, :location, :quantity, :additional_info
belongs_to :user
belongs_to :color_family
...
end
これは私が迷子になる場所であり、私が従おうとするチュートリアルはすべてを壊します. color_families の事前定義リストはどこで定義できますか?
新しいモデルを作成する価値はありますか? 以前にフォームフィールドでこれを試しました:
<%= form_for(@paint) do |f| %>
<%= render 'shared/error_messages', object: f.object %>
<div class="field">
<%= f.label :color_family %>
<%= select_tag(:color_family, options_for_select([['Red', 1],
['Orange', 2],
['Yellow', 3],
['Green', 4],
['Blue', 5],
['Purple', 6],
['Black', 7],
['Grey', 8],
['White', 9],
['Cream', 10],
['Brown', 12]])) %>
ドロップダウンを作成しましたが、新しいペイントを追加したときに情報を取得することはありませんでした。
どんな助けでも大歓迎です。また、チュートリアルへのリンクは、私が RoR やバックエンド全般に非常に慣れていないため、おそらく最大の助けになるでしょう。