在应用程序中定义 Rails 变量的位置.html.erb.



我有一个导航栏,它被放置在/views/layouts/application.html.erb中,在那里我放置了@buy和@sell变量,它们得到了最新的比特币价格。它们当前放置在/welcome 控制器中,因此价格仅在欢迎控制器中显示。如果我导航到另一个控制器,该栏将变为空。

@buy = coinbase.buy_price
@sell = coinbase.sell_price

这是当前放置在欢迎控制器中的代码。我希望它可用于导航栏,无论用户在哪个控制器中。任何帮助都会很棒!

将其放在应用程序控制器中并使用 before 操作

before_action :set_prices
def set_prices
    @buy = coinbase.buy_price
    @sell = coinbase.sell_price
end

两种方式:

  1. application_controller中的代码编写为 before_filter,并使用导航栏中的变量。

    before_filter :p米

    DEF 价格

    @buy = coinbase.buy_price

    @sell = coinbase.sell_price

    结束

  2. 在 application.html.erb 中编写代码,就在导航条形码之前:

    <% @buy = coinbase.buy_price %>

    <% @sell = coinbase.sell_price %>

    并直接使用它们。

最新更新