1

我有一个简单的 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
4

2 回答 2

2

事实证明,默认情况下,Cells 不再配置为与 Rails 以相同的方式工作(通过 Cell::Rails)。我必须添加抽象控制器助手,但这会自动让我在我的单元格中获得所有设计助手。

class UserCell < Cell::ViewModel
   include AbstractController::Helpers
   include Devise::Controllers::Helpers

   def index
     render
   end
 end
于 2015-10-29T17:03:13.860 回答
1

另一种方法是

def_delegator :current_user, :controller

您可以将所有内容委托给控制器

还有一种方法,特别是如果您想让单元格和控制器彼此独立,您可以在 options{} 哈希中将对象和属性传递给您的单元格。

于 2015-11-29T21:45:53.137 回答