哪里可以找到初学者Ruby On Rails教程,涵盖两个模型?

时间:2013-05-27 17:55:01

标签: ruby-on-rails activerecord rails-for-zombies

我在Ruby On Rails上取得了很大的进步。我试着用两个模特/桌子来制作东西。 你知道有两个模型的基本教程吗?

例如,我做了Rails for Zombies课程,它浏览tweet belongs_to zombiezombie has_many tweets,但它并没有真正讨论如何设置第二个模型或使用它。

在我正在处理的小应用程序中,我现在建立了一个模型公司并建立员工,并添加了company has_many employeesemployee has_one company但不确定下一步该去哪里,可以真正使用涵盖此内容的教程。例如,我这样做了公司:

rails g scaffold company name phone website city state twitter

现在制作我所做的员工模型:rails g scaffold employee name phone email

关联它们的行为是否会自动添加所需的其他列,以便employee具有company_id或者我应该创建该列?我如何更新员工表单以便我可以选择它所属的公司?

1 个答案:

答案 0 :(得分: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