我有一个模特:
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
我的控制器拥有一组方法名称,由view:
使用class Mycontroller < ApplicationController
@methods=['the_date', 'the_time', 'the_event']
...
end
在我的视图中 index.html.haml ,我想动态访问模型方法:
%td
-index=SOME_USER_INPUT
=mymodel.@methods[index] /IT DOES NOT WORK HERE!!
但是,我无法以这种方式动态调用模型方法:mymodel.@methods[index]
,如何根据我的示例代码调用动态方法?
答案 0 :(得分:1)
@methods
是控制器的实例变量,而不是您的模型。假设您要调用该方法,请尝试以下方法:
=mymodel.send(@methods[index])