新的表单变量需要在整个网站上可用

时间:2018-08-11 12:09:42

标签: ruby-on-rails ruby

我有一个使用Stripe订阅的Rails站点。我创建了一个模式,该模式弹出一个表单,如果用户单击标题中的链接,该表单将允许用户进行订阅。由于标题显示在整个站点中,因此我将模式的代码放在_header.html.erb文件中。我的问题是我不知道将

放在哪里
@subscriber = Subscriber.new

代码,以便无论用户在站点中的何处都可用。我正在从新的订阅者表单中获取ActionView :: Template :: Error(表单中的第一个参数不能包含nil或为空),除非我将我的Subscriber.new代码放在该特定控制器的视图中行动。

1 个答案:

答案 0 :(得分:2)

一种有效的解决方案是在application_controller.rb中创建此代码

before_action :load_subscriber

def load_subscriber
  @subscriber = Subscriber.new
end