我有一个使用Stripe订阅的Rails站点。我创建了一个模式,该模式弹出一个表单,如果用户单击标题中的链接,该表单将允许用户进行订阅。由于标题显示在整个站点中,因此我将模式的代码放在_header.html.erb文件中。我的问题是我不知道将
放在哪里@subscriber = Subscriber.new
代码,以便无论用户在站点中的何处都可用。我正在从新的订阅者表单中获取ActionView :: Template :: Error(表单中的第一个参数不能包含nil或为空),除非我将我的Subscriber.new代码放在该特定控制器的视图中行动。
答案 0 :(得分:2)
一种有效的解决方案是在application_controller.rb中创建此代码
before_action :load_subscriber
def load_subscriber
@subscriber = Subscriber.new
end