匹配控制器

时间:2017-02-18 08:16:46

标签: ruby-on-rails

我正在使用stock_quote gem构建一个简单的app来检索股票信息。这是我第一次尝试使用外部数据集。

我目前能够通过在控制器内手动输入股票代码来查找股票信息:

    @stock = StockQuote::Stock.quote('aapl')

我如何匹配('')内部(' aapl')中的内容与一个值,类似于我在视图中通常所做的内容:# {@ model.attribute}

我试过,

 @stock = StockQuote::Stock.quote('find_stock')

然后将find_stock方法放在像这样的私有方法中,

private

def find_stock
  params.find(params[:ticker])
end

但是我无法让它发挥作用。

2 个答案:

答案 0 :(得分:1)

这可能是因为您忘记了允许参数

<Company id: 1,name: "Jim Beam"> => 5

在控制台中检查请求,看看您是否拥有所需的正确参数。

  params.permit(:ticker)

供您参考,

要获取参数值,您需要传递id。 def find_stock ticket = params.permit(:ticker) StockQuote::Stock.quote(ticket) end ,您需要使用{ticket: 'aapl}params[:ticket] {stock: {ticket: 'aapl}}

答案 1 :(得分:0)

你不应该只是打电话给方法吗?

p > t