【问题标题】:Rails & Devise: Make Variable Available in Devise ViewRails & Devise:使变量在设计视图中可用
【发布时间】:2012-11-30 07:41:51
【问题描述】:

我似乎在任何地方都找不到这个...我正在尝试将仪表板添加到我的一个设计屏幕(注册/编辑),但我需要使一些变量可用。如何在不重写所有设计控制器逻辑的情况下做到这一点?

【问题讨论】:

  • 您是否阅读了github.com/plataformatec/devise 的“配置控制器”部分?
  • 是的,但就像我说的,我不想完全重写我的控制器,我只想添加一个变量。
  • 您不必这样做。让我写一个答案。

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


【解决方案1】:

为此,您必须重写设计控制器,并调用父方法。

class RegistrationsController < Devise::RegistrationsController
  def edit
    super
    @your_var = 'something'
  end
end

【讨论】:

  • 我收到以下错误:预期为/app/controllers/devise/registrations_controller.rb to define Devise::RegistrationsController。我尝试将Users::RegistrationsController 添加到注册控制器,它给了我uninitialized constant Users。有什么想法吗?
  • 对不起,我为控制器中的设计创建了一个文件夹,显然它不喜欢那样。将它移到顶层并且错误消失了,但我的变量仍然不可用......它没有抛出错误,它只是显示为空白
  • 您是否根据文档更新了您的 routes.rb 文件?当您在控制器目录中创建目录时,其中的每个控制器都将成为与新目录同名的模块的一部分。
  • 我只是将它提升了一个级别。我的路线文件是这样的:cl.ly/image/340L031R2L3F
  • 那是最模糊、最没有帮助的话。一个链接会很有帮助,甚至可以告诉我你在说什么文档。就设计而言,我已经阅读并重新阅读了有关控制器的文档,但内容很少。如果您要在我的 routes.rb 文件中取出控制器定义,我已将其更改为:cl.ly/image/1g0g0D3I1i0Z,但无济于事。
猜你喜欢
  • 1970-01-01
  • 2021-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-24
  • 1970-01-01
  • 2011-10-02
  • 1970-01-01
相关资源
最近更新 更多