[前][次][番号順一覧][スレッド一覧]

rails:551

From: Kenta Hashimoto <kem@c...>
Date: Wed, 02 Nov 2005 13:22:58 +0900
Subject: [rails:551] Re: Model のメソッド

gorouさん、babieさん、ありがとうございます。

クラスメソッドという概念があったんですね。
実は、RailsをはじめてからRubyをはじめたので、
Rubyもnewbieです。

self. を付けたところ、無事に関数を使えました。
ありがとうございました。

babie wrote:
> --- Kenta Hashimoto <kem@c...> からのメッセージ:
> 
>>はしけむです。
>>
>>またまた混乱しています。
>>
>>Itemというモデルがあったとして、
>>Item.find を呼び出せるような別のメソッドを作りたいです。
>>
>>次のような方法を試したのですが、うまく動きませんでした。
>>
>>app/model/item.rbに、以下のように書き、
>>
>>  class Item < ActiveRecord::Base
>>    def aaa( *args )
>>      find( *args )
>>    end
>>  end
>>
>>app/controller/item_controller.rbで以下のようにすると、
>>
>>  class ItemController < ApplicationController
>>    def list
>>      @items = Item.aaa( :all )
>>    end
>>  end
>>
>>以下のようなエラーになってしまいます。
>>
>>  undefined method `aaa' for Item:Class
> 
> 
> 「Item クラスに aaa というメソッドは定義されていません」とあります。
> 上記の定義ではオブジェクトを生成せずに aaa メソッドは使えません。
> 
> クラスメソッドにする必要があるので、
>   def self.aaa(*args)
> としてみて下さい。
> 
> 
> 
> --
> ML: rails@r...
> 使い方: http://QuickML.com/
> Web Site: http://wiki.fdiary.net/rails/
> ML Archives: http://www.fdiary.net/ml/rails/

--
ML: rails@r...
使い方: http://QuickML.com/
Web Site: http://wiki.fdiary.net/rails/
ML Archives: http://www.fdiary.net/ml/rails/

[前][次][番号順一覧][スレッド一覧]

       548 2005-11-02 04:32 [kem@c...            ] Modelのメソッド                         
       549 2005-11-02 04:58 ┣[yu1@t...            ]                                       
       550 2005-11-02 04:59 ┗[babie7a0@y...       ]                                       
->     551 2005-11-02 05:22  ┗[kem@c...            ]                                     
       552 2005-11-02 06:52   ┗[kem@c...            ]                                   
       553 2005-11-02 09:32    ┣[moriq@m...          ]                                 
       555 2005-11-02 10:49    ┃┗[kem@c...            ]                               
       554 2005-11-02 09:44    ┗[don@n...            ]                                 
       557 2005-11-02 11:01     ┗[kem@c...            ]                               
       558 2005-11-02 11:14      ┣[don@n...            ]                             
       560 2005-11-02 11:43      ┃┗[kem@c...            ]                           
       559 2005-11-02 11:28      ┗[toykyo@t...         ]