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 可以獲取父物件的名字
六、建立收藏的邏輯:待續,可以一起討論
六、建立收藏的邏輯:待續,可以一起討論
相關文章
- rails on ruby,ruby on rails 之程式碼塊(二)AI
- 肖威洞察 | Ruby on Rails 的快速學習的體系框架;AI框架
- Ruby on Rails 生成指定版本的 Rails 專案AI
- Mybatis動態對映,這次終於搞明白了MyBatis
- ruby on rails 小技巧AI
- Ruby on Rails Ping ++ 支付AI
- 關於 lambda 在 WebDriverWait () 中的用法實在不明白WebAI
- ruby on rails筆記和理解AI筆記
- Rails並不是用Ruby編寫的AI
- 還不明白 Docker 的映象跟容器?Docker
- Ruby on Rails Mountable vs. Full EngineAI
- Ruby on rails專案中 引入BootstrapAIboot
- 38歲,終於明白怎麼學習作為程式設計師程式設計師
- 分析1000+問卷後,我終於搞明白宅家的人都在想什麼
- 從NodeJS切換到Ruby on Rails - nikodunkNodeJSAI
- Ruby:Hash(雜湊)學習,你可以理解為字典
- Ruby on Rails中的MVC架構是如何工作的AIMVC架構
- [Ruby Summit 2018 話題分享] 模組化的 Rails,微服務以外的另一種選擇MITAI微服務
- YUI TreeView搞明白了UIView
- 終於弄明白了 RocketMQ 的儲存模型MQ模型
- 強大的Rails/Ruby開發工具:JetBrains RubyMine 2023 for macAIMac
- Java學習-多型Java多型
- 關於最近學習的Less預編譯語言的筆記,歡迎大家一起探討~編譯筆記
- 一直讓 PHP 程式設計師懵逼的同步阻塞非同步非阻塞,終於搞明白了PHP程式設計師非同步
- sql學習:終於把sql case語句使用講明白了,一看就懂SQL
- 搞明白這四個問題Linux就好學多了Linux
- 難搞的偏向鎖終於被 Java 移除了Java
- Rails 一對多AI
- 【長文】帶你搞明白RedisRedis
- ClickHouse與Hive的區別,終於有人講明白了Hive
- 開發新手最容易犯的50個 Ruby on Rails 錯誤(1)AI
- 終於明白了快三倍投必死
- 【Ruby on Rails全棧課程】2.7 塊(Block)和迭代器AI全棧BloC
- JAVA中“多型”案例學習Java多型
- 終於有人把網路爬蟲講明白了爬蟲
- 終於有人把隱私計算講明白了
- 從底層去認識 ruby 的load,require,gems,bundler,以及rails中的autoloadingUIAI
- 大家有一起學AI的麼?有乾貨資料
- 終於,我也來學習VUE了Vue