很早就聽說有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 的下載地址:請點這裡