Я пытаюсь создать небольшое веб-приложение с Ruby on Rails. Это простой инструмент для отслеживания акций, которые интересуют людей.
Для биржевых данных я использую гем stock_quote.
В настоящее время у меня есть модель с одним полем «тикер». Здесь люди будут вводить тикер акции, за которой они заинтересованы. Я хочу иметь возможность заполнять таблицу информации на основе тикера, когда пользователь входит в систему (полное название компании, цена и т. д.). Когда я тестирую свой текущий метод, я получаю ошибку «неинициализированная константа Target:: StockQuote». Однако, когда я вызываю свои методы get_current_price или get_company_name в консоли, они работают отлично. Я знаю, что мне нужно держать свои взгляды тупыми, но я не уверен, как сделать это проще, чем это, и заставить их работать правильно.
Я хотел бы иметь возможность заполнять таблицу панели управления информацией об акциях, за которыми наблюдают пользователи. Учитывая, что модель хранит тикер (то есть AAPL), мне нужно каким-то образом ввести тикер в серию методов модели, которые извлекают правильные данные из API stock_quote и возвращают результат в мою HTML-таблицу.
Спасибо за помощь
stock.rb
class Stock < ActiveRecord::Base
attr_accessible :ticker
def get_company_name(ticker)
company_name = StockQuote::Stock.quote(ticker).company
end
def get_current_price(ticker)
company_name = StockQuote::Stock.quote(ticker).last
end
end
stocks_controller.rb
class StocksController < ApplicationController
def dashboard
@stocks = Stock.all
end
end
dashboard.html.erb
<tbody>
<% @stocks.each do |stock| %>
<tr>
<td><%= stock.get_company_name(stock.ticker) %></td>
<td><%= stock.stock %></td>
<td><%= button_to "Delete", edit_target_path, :class => "btn btn-small btn-danger" %> </td>
</tr>
<% end %>
</tbody>
edit_target_path
. Можем ли мы увидеть класс для этого и файл маршрутов, потому что вы говорите, что получаете ошибкуuninitialized constant Target::StockQuote
, но классаTarget
нет. - person ChuckJHardy   schedule 07.06.2013