タグ

2021年7月16日のブックマーク (5件)

  • なぜRailsのモジュールでは"able"をサフィックスとして付けるのでしょうか?

    RailsのConcernで使われるモジュール名はたしかに xxx-able となっているものが多いです。 実際僕もよく xxx-able という名前のモジュールを作ります。 が、これはあくまで慣習であり、規約ではありません。 なので、xxx-able以外のモジュール名にしても全く問題ありません。 一般論として、クラス名/モジュール名やメソッド名には「わかりやすい名前」を付けるのが原則です。 なので、たとえば「includeすると タグが使える ようになるモジュール」であれば、「タグが使える = Tag + able = Taggable」という名前を付けるとわかりやすい、ということになります。 ですが、絶対ではないので、Taggableよりも適切な名前があると考えるのであれば、別の名前を付けるのもアリです。 とはいえ、「Concernであればxxx-ableにする」というのがRails

    なぜRailsのモジュールでは"able"をサフィックスとして付けるのでしょうか?
  • ポリモーフィック関連覚え書き - Qiita

    ポリモーフィック関連って何? 複数の親を持つ子テーブルを実現するための関連の仕組み どんな場合に使うの? 例えば、 Shop model と、User model でそれぞれ、Profile を持たせたいが 持たせるProfileの内容が全く同じな場合とか 同じ内容のmodelを2個作っても良いけど、 変更時に2個変更させなければならなくてめんどい ShopかUserか関係なく、とにかくProfileの一覧を出したいときにめんどい そんな時は、ポリモーフィック関連を使って、Shop modelとUser model両方を親とするProfile modelを作成する どんな風に実現するの? User model を作成

    ポリモーフィック関連覚え書き - Qiita
  • Active Record の関連付け - Railsガイド

    1 関連付けの概要 Active Recordの「関連付け(アソシエーション: association)」を使うと、モデル間のリレーションシップを定義できます。関連付けは特殊なマクロスタイルの呼び出しとして実装されており、モデル同士をどのように関連させるかをRailsに手軽に指定できます。これにより、データの管理がより効率的になり、一般的なデータ操作がシンプルで読みやすくなります。 マクロスタイルの呼び出しは、実行時に他のメソッドを動的に生成・変更するメソッドであり、Railsでのモデルの関連付けの定義など、簡潔で表現力豊かな機能の宣言を可能にします。たとえばhas_many :commentsのように記述します。 関連付けを設定すると、Railsが2つのモデルのインスタンス同士の主キー(primary key)と外部キー(foreign key)のリレーションシップや管理を支援し、データ

    Active Record の関連付け - Railsガイド
  • Rubyの文字列とシンボルの違いをキッチリ説明できる人になりたい - Qiita

    Rubyには、文字列とシンボルという似て非なるものがある。 それぞれの使いドコロだったり、内部での扱われ方だったりはなんとなく分かってるつもりだったけど、いざ違いを説明しろと言われたら言葉に詰まるなーと思って整理してみる。 困ったときはリファレンスだ!ということで、Ruby2.3.0のシンボルのページを見てみたところ、ちょうどいい解説があったのでそれを参考に文字列との違いを見ていく。 http://docs.ruby-lang.org/ja/2.3.0/class/Symbol.html シンボルとは何なのか? 文字列はまぁ文字列だけど、シンボルってどんなものだろう? リファレンスによると、 Rubyの内部実装では、メソッド名や変数名、定数名、クラス名など の`名前'を整数で管理しています。これは名前を直接文字列として処理するよりも 速度面で有利だからです。そしてその整数をRubyのコード

    Rubyの文字列とシンボルの違いをキッチリ説明できる人になりたい - Qiita
  • rake spec に rspec のオプションを渡す - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    rake spec に rspec のオプションを渡す - Qiita