Как динамически вызывать методы доступа в моем объекте модели из представления - PullRequest
0 голосов
/ 24 января 2011

У меня есть модель:

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

в моем представлении index.html.haml , я хотел бы получить динамический доступ к методам модели:

%td
  -index=SOME_USER_INPUT
  =mymodel.@methods[index] /IT DOES NOT WORK HERE!!

Но я не могу динамически вызывать методы модели следующим образом: mymodel.@methods[index] какиметь динамический вызов метода на основе моего примера кода ??

1 Ответ

1 голос
/ 24 января 2011

@methods - это переменная экземпляра вашего контроллера, а не вашей модели. Предполагая, что вы хотите вызвать метод, попробуйте это:

=mymodel.send(@methods[index])

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...