歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Rails中關聯數據表的添加操作(嵌套表單)

Rails中關聯數據表的添加操作(嵌套表單)

日期:2017/3/1 9:18:29   编辑:Linux編程

很早就聽說有Web敏捷開發這回事,最近終於閒了下來,可以利用業余的時間學些新東西,入眼的第一個東東自然是Ruby on Rails。Rails中的核心要素也就是MVC、ORM這些了,因此關於Rails的學習也就自然是這些。

今天面對的是這樣一個問題ORM問題:客戶的公司有多個組,而一個組中自然包含有多個員工。客戶的想法是在建立組的時候就直接能夠把人員加入到組中,而不是“建組->加人員”這樣一個流程。

不多說了,還是直接上解決方案吧

1. 新建工程


rails new demo

2.建立Group

rails g scaffold group name:string description:text

3.建立員工employee

rails g model employee name:string birthday:date group:belongs_to

執行完上述命令後

group和employee兩個類的代碼如下:

/model/group.rb

class Group < ActiveRecord::Base
end

/model/employee

class Employee < ActiveRecord::Base
belongs_to :group
end

4.修改group的代碼,如下:

class Group < ActiveRecord::Base
has_many :employees              #復數
end

此外,為了實現一次創建Group和多個Employee,還需要打開Group的嵌套屬性,因此

class Group < ActiveRecord::Base
has_many :employees #復數
accepts_nested_attributes_for :employees
end

以上就完成了Model的開發工作,接下來修改Group的控制器

5. 修改Group的控制器

在Ubuntu 15.04中安裝Ruby on Rails http://www.linuxidc.com/Linux/2015-07/119891.htm

Ubuntu下Apache服務器安裝以及使用Passenger插件部署Rails應用 http://www.linuxidc.com/Linux/2012-12/75230.htm

CentOS系統搭建Ruby On Rails平台 http://www.linuxidc.com/Linux/2014-11/109590.htm

Ubuntu下搭建Ruby On Rails http://www.linuxidc.com/Linux/2012-06/61981.htm

《Web開發敏捷之道應用Rails進行敏捷Web開發(原書第4版)》.((美)Sam Ruby).[PDF]+源代碼 http://www.linuxidc.com/Linux/2014-09/106975.htm

Rails 的詳細介紹:請點這裡
Rails 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved