我在Ruby On Rails上取得了很大的进步。我试着用两个模特/桌子来制作东西。 你知道有两个模型的基本教程吗?
例如,我做了Rails for Zombies课程,它浏览tweet belongs_to zombie
和zombie has_many tweets
,但它并没有真正讨论如何设置第二个模型或使用它。
在我正在处理的小应用程序中,我现在建立了一个模型公司并建立员工,并添加了company has_many employees
和employee has_one company
但不确定下一步该去哪里,可以真正使用涵盖此内容的教程。例如,我这样做了公司:
rails g scaffold company name phone website city state twitter
现在制作我所做的员工模型:rails g scaffold employee name phone email
关联它们的行为是否会自动添加所需的其他列,以便employee
具有company_id或者我应该创建该列?我如何更新员工表单以便我可以选择它所属的公司?
答案 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