Rails 单元格 4:访问 Devise 助手
Rails Cells 4: access Devise helpers
我有一个简单的 Cells 示例,我想将其与 Devise 和 Rails 集成。但是,所有示例和问题似乎都是针对 Cells 3 的。以下在我的应用程序中失败(添加了行号)。
line 1: class UserCell < Cell::ViewModel
line 2: include Devise::Controllers::Helpers
line 3:
line 4: def index
line 5: render
line 6: end
line 7: end
为第 2 行引发此错误。
undefined method `helper_method' for UserCell:Class
事实证明,默认情况下,Cells 不再配置为与 Rails 以相同的方式工作(通过 Cell::Rails)。我不得不添加抽象控制器助手,但这让我自动获得了单元格中的所有设计助手。
class UserCell < Cell::ViewModel
include AbstractController::Helpers
include Devise::Controllers::Helpers
def index
render
end
end
另一种方法是
def_delegator :current_user, :controller
你可以将一切委托给控制器
还有一种方法,特别是如果您想让您的单元格和控制器彼此独立,您可以在选项{}哈希中将对象和属性传递给您的单元格。
我有一个简单的 Cells 示例,我想将其与 Devise 和 Rails 集成。但是,所有示例和问题似乎都是针对 Cells 3 的。以下在我的应用程序中失败(添加了行号)。
line 1: class UserCell < Cell::ViewModel
line 2: include Devise::Controllers::Helpers
line 3:
line 4: def index
line 5: render
line 6: end
line 7: end
为第 2 行引发此错误。
undefined method `helper_method' for UserCell:Class
事实证明,默认情况下,Cells 不再配置为与 Rails 以相同的方式工作(通过 Cell::Rails)。我不得不添加抽象控制器助手,但这让我自动获得了单元格中的所有设计助手。
class UserCell < Cell::ViewModel
include AbstractController::Helpers
include Devise::Controllers::Helpers
def index
render
end
end
另一种方法是
def_delegator :current_user, :controller
你可以将一切委托给控制器
还有一种方法,特别是如果您想让您的单元格和控制器彼此独立,您可以在选项{}哈希中将对象和属性传递给您的单元格。