Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

modelは直接ActiveRecord::Baseを継承しているのは、なぜ? #162

Closed
katorie opened this issue Apr 14, 2014 · 7 comments
Closed
Labels

Comments

@katorie
Copy link
Member

katorie commented Apr 14, 2014

Railsチュートリアル「2.3.4 継承の階層」より。

controllerは、ApplidationControllerというワンクッションを経てActionController::Baseを継承しているけれど、modelは、直接ActiveRecord::Baseを継承しているというのは、どうしてなんでしょうか?

そもそも、そういう「いろんなモデルを束ねるモデル」が必要な場面っていつだ?っていう感じもする。

@yucao24hours
Copy link
Member

きのう Asakusa.rb に行って、a_matsuda さんに直接聞いてきました 👯

確かに「全体としての対称性を保つという点ではどうなのか」という指摘は以前からあった。「ApplicationModelを作ったらどうか」ってね。
ただ、コントローラには "殆どのアプリケーションに共通の処理(機能)" があるように感じるが、モデルにはそういう処理はないように思う。だから、コントローラは汎用的な機能を実装した ApplicationController を作成して継承させており、モデルはそれをしていない、というだけ。
だから、もし今後誰かが「こういうユースケースがあるから ApplicationModel が必要だ!」って言えば、実装されるかもしれない。いつでも待ってるよw

とのことでした〜〜!

@yachibit
Copy link

ありがたい!!GJ:thumbsup:

@bonbon0605
Copy link
Contributor

ありがとうございます!:ok_woman:

@katorie
Copy link
Member Author

katorie commented Apr 16, 2014

ありがたや~! @yucato さんどうもありがとうございました!
ユースケースは a_matsuda さんまでお願いします!

@katorie
Copy link
Member Author

katorie commented Apr 17, 2014

Railsコミッタからの直接のコメントが聞けてすっきりしました。クローズします!

@katorie katorie closed this as completed Apr 17, 2014
@yucao24hours
Copy link
Member

close 後ですが、すみません! 引用の部分に一部誤りがあったため修正しました。内容の主旨としては変わってないです 👌

@katorie
Copy link
Member Author

katorie commented Apr 17, 2014

@yucato ありがとうございます~!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants