я есть класс HomeControllerрубинового instace области видимости переменных в HomeController
Могу ли я использовать одну переменную экземпляра (@events), который получил ответ от конечной точки в event_one методом, из другого метода event_two.
я есть класс HomeControllerрубинового instace области видимости переменных в HomeController
Могу ли я использовать одну переменную экземпляра (@events), который получил ответ от конечной точки в event_one методом, из другого метода event_two.
вы можете достичь использовать частный метод установки evnets
class HomeController < ApplicationController
def event_one
set_events
end
def event_two
set_events
end
private
def set_events
Req = **endpoint.connection**
res = req.body**(json format)**
@events = res
end
end
Вы также можете вызвать этот метод, используя фильтр из вы хотите установить для каждого действия этого контроллера.
Надеюсь, это поможет!
спасибо, но я хочу сократить время выполнения. я не хочу снова и снова читать строки подключения конечной точки. –
Вы можете позвонить по этому методу, где это необходимо такой же вопрос здесь: http://stackoverflow.com/questions/9330486/same-instance-variable-for-all-actions-of-a-controller –
попробуйте использовать этот DRY код:
class HomeController < ApplicationController
before_action :set_events, only: [:event_one, :event_two]
def event_one
#your code here
# for example puts @events
end
def event_two
#your code here
# for example puts @events
end
private
def set_events
req = **endpoint.connection**
res = req.body**(json format)**
@events = res
end
end
@GB. У меня есть ошибка в коде. BCS. this before_action:: set_events, only: [: event_one,: event_two] возвращает синтаксическую ошибку, неожиданно ':' –
@LukasBaliak теперь видит редактирование. да была ошибка. теперь удален –
сделать вы хотите использовать ответ от '' event_one' в event_two'? –
Что вы подразумеваете под **? – alfakini