0

私は Ruby On Rails で多くの進歩を遂げました。2 つのモデル/テーブルを使用して何かを作成する方法を理解しようとしています。2 つのモデルがある基本的なチュートリアルを知っていますか?

たとえば、私はRails for Zombiesのコースを受講しましたが、ざっと目を通しましたが、その2番目のモデルをセットアップする方法tweet belongs_to zombiezombie has_many tweetsそれを利用する方法については実際には説明していません.

私が取り組んでいる小さなアプリケーションでは、モデルの会社とモデルの従業員company has_many employeesを作成し、 andを追加しましたemployee has_one companyが、次にどこに行けばよいかわかりません。これをカバーするチュートリアルを実際に使用できます。たとえば、私は会社を次のように作成しました。

rails g scaffold company name phone website city state twitter

私が行った従業員モデルを作成するには:rails g scaffold employee name phone email

それらを関連付ける行為は、必要な追加の列を自動的に追加しemployeeて、company_id を持つようにしますか、それとも作成する必要がありましたか? また、従業員フォームを更新して、所属する会社を選択できるようにするにはどうすればよいでしょうか?

4

1 に答える 1

2

クイックチュートリアル:

会社を作ろう

rails g scaffold company name

従業員を作成して、従業員が会社を参照する (所属する) ことを Rails に伝えましょう。

rails g scaffold employee company:references name phone email

上記のコマンドではcompany:references、従業員の列「company_id」を作成するのは であることに注意してください。

データベースを更新する

rake db:migrate

従業員フォームを更新しましょう。変化する

<%= f.text_field :company %>

コレクションからオプションを取得する選択ボックスに、この場合はすべての会社

<%= f.collection_select :company_id, Company.all, :id, :name, :prompt => true %>

そして、会社名を見るために、 app/views/employees/show.html.erb を編集しましょう

<%= @employee.company.name %>

最後に、 app/models/company.rb を編集して、この行を追加します

has_many :employees, dependent: :destroy
于 2013-05-27T18:51:43.057 に答える