В Rails, как мне назначить переменную экземпляра из define_method и выставить ее из контроллеров вплоть до представлений? - PullRequest
0 голосов
/ 17 ноября 2009

Я пытаюсь написать генератор действий для моих Rails-приложений (возможно, самая простая форма метапрограммирования, которую вы можете получить. Мой вопрос: как мне назначить переменную экземпляра, которая доступна в представлениях? будет выглядеть так:

ApplicationController < ActionController::Base

  def generate_custom_action

    define_method("my_custom_action") do

      #...some code...
      instance_variable_set("@variable_name", my_value)

      # OR
      @variable_name = 'aoeu'
    end
  end

end

Но это не похоже на работу. То есть, varable "@variable_name" - это "ноль" в представлениях. Есть идеи как выставить это на вид?

1 Ответ

0 голосов
/ 17 ноября 2009

У вас есть метод, который определяет некоторые переменные. И @vars доступны везде в экземпляре класса.

Таким образом:

def generate_custom_action
    @variable_name = my_value
end

Вам должно быть достаточно, чтобы получить значение в вашем представлении.

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