ruby on rails 學習---終於搞明白多型,大家不明白的話,可以一起交流下
一、什麼叫多型關聯?
“多型關聯”。在多型關聯中,在同一個關聯中,模型可以屬於其他多個模型。例如,收藏模型可以屬於醫院、醫生、藥品多個模型
二、收藏(liking)——醫院(hospital)、醫生(physician)、藥品(medication)
1、新建模型liking:
2、belongs_to :likeable, polymorphic: true, counter_cache: :likes_count
3、新建模型hospital:
4、has_many :likings, as: :likeable
5、新建模型physician:
6、has_many :likings, as: :likeable
7、新建模型medication:
8、has_many :likings, as: :likeable
三、關聯之後的方法:
在醫生、醫院、藥品模型上
1、@hospital.likings表示醫院收藏的集合
2、@physician.likings表示醫院收藏的集合
3、@medication.likings表示醫院收藏的集合
在liking模型上:
1、@liking.likable可以獲取父物件
四、控制器
def index
@likings = current_user.likings.order('created_at desc').page params[:page]
end
五、在檢視中:
[:micro, liking.likeable]可以生成http://localhost:3000/micro/physicians/486這樣的url
= liking.likeable.name 可以獲取父物件的名字
六、建立收藏的邏輯:待續,可以一起討論
六、建立收藏的邏輯:待續,可以一起討論
相關文章
- Mybatis動態對映,這次終於搞明白了MyBatis
- 就是不明白:怎麼網站越搞路越窄?(轉)網站
- 肖威洞察 | Ruby on Rails 的快速學習的體系框架;AI框架
- rails on ruby,ruby on rails 之程式碼塊(二)AI
- [ruby] rails renderAI
- Ruby on Rails 終極部署方案 nginx+mina+pumaAINginx
- Ruby on Rails 生成指定版本的 Rails 專案AI
- 關於 lambda 在 WebDriverWait () 中的用法實在不明白WebAI
- 還不明白 Docker 的映象跟容器?Docker
- 38歲,終於明白怎麼學習作為程式設計師程式設計師
- ruby on rails 小技巧AI
- Ruby on Rails 相關AI
- Ruby On Rails 技術AI
- 如何提高 Ruby On Rails 的效能?AI
- 為什麼說現在是學習Ruby和Rails的最佳時機!AI
- Ruby on Rails Ping ++ 支付AI
- do |r| Ruby & Rails endAI
- 什麼是 Ruby on Rails?AI
- 如何提高 Ruby On Rails 效能AI
- java 和 Ruby On Rails的對比JavaAI
- [Rails學習之路]Rails路由配置AI路由
- 大家有空的話可以下載xde javaJava
- Ruby:Hash(雜湊)學習,你可以理解為字典
- YUI TreeView搞明白了UIView
- 關於資料庫事務的基本概念,我還弄不明白。資料庫
- ruby on rails筆記和理解AI筆記
- ruby on rails 伺服器配置AI伺服器
- Ruby on Rails?有人會用嗎?AI
- .nil? .empty? .blank? .present? in Ruby on RailsAI
- Rails並不是用Ruby編寫的AI
- 分析1000+問卷後,我終於搞明白宅家的人都在想什麼
- 終於弄明白了 RocketMQ 的儲存模型MQ模型
- 終於明白了Handler的執行機制
- Java學習-多型Java多型
- POJ 1014 不明白為什麼資料可以縮小到60跟61
- sql學習:終於把sql case語句使用講明白了,一看就懂SQL
- 一直讓 PHP 程式設計師懵逼的同步阻塞非同步非阻塞,終於搞明白了PHP程式設計師非同步
- 【長文】帶你搞明白RedisRedis