Я пытаюсь создать простой съемник данных из драгоценного камня yahoo. У меня есть вложенные установки маршрута по безопасности, которые HAS_MANY ЦенаRails Вложенные ресурсы, не создаваемые из массива
Контроллер Цены выглядит следующим образом:
class PricesController < ApplicationController
before_action :set_security
before_action :set_price, only: [:show, :edit, :update, :destroy]
def new
@price = Price.new
end
private
def set_price
@price = Price.find_by_name(params[:id])
end
def price_params
params.require(:price).permit(:date, :open, :high, :low, :close, :volume, :security_id)
end
def set_security
@security = Security.find_by_ticker(params[:security_id])
end
end
вложенная маршрут прекрасно работает вручную создать ребенок Цену запись из формы. Я пытаюсь создать ценовой рекорд для каждого результата в массиве, который получает генерируется из следующего кода:
class Datapuller
def self.download_historical
yahoo_client = YahooFinance::Client.new
data = yahoo_client.historical_quotes("FB")
data.each do |i|
@ticker = Security.find_by_ticker(data[0].symbol)
price = @ticker.prices.new()
price.security_id = @ticker
price.date = data[0].date
price.open = data[0].open
price.high = data[0].high
price.low = data[0].low
price.close = data[0].close
end
end
end
Я хотел бы, чтобы вызвать этот метод из ссылки кнопки, но на данный момент у меня есть следующий код на Вид безопасности:
<%= Datapuller.download_historical %>
Это также дает мне возможность увидеть данные, которые загружаются из массива.
С приведенным выше кодом я могу создать ребенка Цена для родительской безопасности с использованием формы, и я могу сделать звонок из драгоценного камня yahoo. Однако массив не создает запись цены для каждой строки массива.
Что мне недостает в этом?
Спасибо!