私はこのようなものを持っています
class Reply < AR::Base
end
class VideoReply < Reply
def hello
p 'not ok'
end
end
class PostReply < Reply
def hello
p 'ok'
end
end
...
したがって、オブジェクトを作成しているとき:
# params[:reply][:type] = "VideoReply"
@reply = Reply.new(params[:reply])
子メソッド (この場合) を呼び出すにはどうすればよいVideoReply::hello
ですか?
UPD: 私は非常にばかげた解決策しか想像できません:
@reply = Reply.new(params[:reply])
eval(@reply.type).find(@reply.id).hello
しかし、それはクールではないと思います:)