【问题标题】:What is the proper way to call methods in Rails 4 controllers?在 Rails 4 控制器中调用方法的正确方法是什么?
【发布时间】:2014-01-06 20:38:25
【问题描述】:

我正在使用一个 gem 来进行 API 调用并将其存储在我的 Rails 4 应用程序中的一个变量中。我只需要访问我的显示视图中的变量。它似乎工作正常,但我不确定这是否是正确的方法。

这是我的控制器中的内容:

before_action :call_yahoo, only: [:show]

def show
end

private

def call_yahoo
  @stockdata = StockQuote::Stock.quote(@stock.ticker)
end

这是进行此类通话的最佳地点吗?我是 Rails 新手,想确保每次访问 Show 以外的视图时都不会加载此变量。

【问题讨论】:

  • 它只会在 show 动作之前被处理,所以你的假设是正确的,但是就像 Doon 回答的那样,为什么不把它放在 show 方法中呢?
  • 是的,好点。肯定是想多了。

标签: ruby-on-rails model-view-controller controllers


【解决方案1】:

如果只在@show方法中,还需要before_action吗?

def show
 @stockdata ||= StockQuote::Stock.quote(@stock.ticker)
end

只是在显示动作中调用它?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-20
    • 1970-01-01
    • 2018-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-02
    相关资源
    最近更新 更多