У меня есть представление, в котором перечислены все штаты США на основе определенного условия. В том же виде я включил карту SVG, которая подбирает цвет на основе результирующего набора состояний. Часть списка состояний отображается на метод A в моем контроллере, а карта JavaScript связана с другим методом B в том же контроллере. Однако мой метод B должен получить возвращенные списки состояний от A. Как я могу разделить переменную между этими двумя методами?
Я попытался before_filter
метод загрузить некоторые переменные экземпляра, но это не сработало.
Любая помощь будет оценена.
Код:
def reports
@query = @report.search_query
@results = @query.results(:page => params[:page], :results_per_page => 200).hits
@state = Array.new
@results.each do |r|
@state << r.result.state.abbreviation
end
@finalstate = @state.uniq
end
def data
state_groups = State.select('abbreviation,premium').inject({}) do |groups, state|
groups["#{state.abbreviation}"] = {
:abbreviation => state.abbreviation,
:group => @finalstate.include?(state.abbreviation) ? "found" : "not",
:clickable => "true"
}
groups
end
render :json => state_groups.to_json
end
В моих частичках у меня есть что-то вроде этого:
content_for :footer_scripts do
= javascript_bundle :bundle_report
Моя карта JavaScript использует метод data для получения JSON. Этот JSON возвращает ноль, и вот где я застрял.