2011-01-24 59 views
0

からの私のモデルオブジェクトでのアクセサメソッドを動的に呼び出すために:方法は、私がモデルを持っているビュー

class Mymodel < ActiveRecord :: Base 

    attr_accessible :the_date, :the_time, :the_event 

    def the_date 
    ... 
    end 

    def the_time 
    ... 
    end 

    def the_event 
    ... 
    end 
... 
end 

私のコントローラは、ビューで使用されているメソッド名の配列を保持している:中

class Mycontroller < ApplicationController 

    @methods=['the_date', 'the_time', 'the_event'] 
    ... 
end 

%td 
    -index=SOME_USER_INPUT 
    [email protected][index] /IT DOES NOT WORK HERE!! 
:私の見解 index.html.haml 、私は動的モデルのメソッドにアクセスしたいと思います

しかし、私はこの方法でモデルメソッドを動的に呼び出すことはできません:[email protected][index]、私のサンプルコードに基づいて動的メソッド呼び出しを持つ方法?

+0

可能重複[?動的にその名前に基づいてメソッドを呼び出す方法](http://stackoverflow.com/questions/5349624/how-to -call-methods-their-nameに基づいて動的に) –

答えて

1

@methodsは、モデルのコントローラではなく、コントローラのインスタンス変数です。あなたがメソッドを呼び出したいと仮定すると、これを試してみてください。

=mymodel.send(@methods[index])

関連する問題