---
# System prepended metadata

title: 重複的事情放在application.controller
tags: [Ruby]

---

###### tags: `Ruby`
2020/4/6
# 重複的事情放在application.controller
![](https://i.imgur.com/5zEm6dW.png)

# 製作編輯按鈕
![](https://i.imgur.com/H5iyI1j.png)

![](https://i.imgur.com/zI99vh0.png)
使用新增頁面的表單

![](https://i.imgur.com/no8y4ec.png)
重複的事設定為私有方法
![](https://i.imgur.com/FXouHE9.png)
依然重複
![](https://i.imgur.com/A6ez9mL.png)
使用 before_action

![](https://i.imgur.com/M7vOO6e.png)
將@item 改為item
![](https://i.imgur.com/YDZDNTy.png)
在new、edit頁面加上item: @item

![](https://i.imgur.com/JcqDwJV.png)
都能達到一樣的效果

![](https://i.imgur.com/hknUnSB.png)



ActiveRecord 是一種設計模式 一種ORM框架
ActiveRecord是一種物件包裹資料列


has_one :store
造出四個方法
store
store =
build_store
create_store


belongs_to :owner
生出兩個方法
owner
owner=

has_one belongs_to需要同時存在嗎?
沒有has_one則Owner無法去查詢store 沒有belongs_to則store無法查詢owner
要不要加看需求

has_many :products
products
products=

# 建立關聯
![](https://i.imgur.com/R1gR5z8.png)
![](https://i.imgur.com/l9HhOBK.png)
做選擇列表
![](https://i.imgur.com/fv559XG.png)
新增category_id以防被擋住
![](https://i.imgur.com/Y7pulop.png)
先rails g model add_category_to_item
自動造出 model 以及 migration檔
在migration下指令在下rails db:migrate

# 檢查登入
![](https://i.imgur.com/RTz9IAW.png)

![](https://i.imgur.com/4628Rud.png)

