如何访问设备控制器?

设备中的控制器是否自动生成?如何访问它们

我知道你的看法
rails生成设备视图

假设您希望查看这些控制器以便修改或覆盖它们,Desive now提供了一个简单的生成器,可以在您的应用程序中重新创建它们的控制器,从而简化此操作。根据文件(将是最新的):

1)使用需要作用域的生成器创建自定义控制器:

控制台

rails生成设备:控制器[范围]

如果指定users作为作用域,则将在app/controllers/users/中创建控制器。会话控制器将如下所示:

类用户::会话控制器<设计::会话控制器
#获取/资源/登录\u
#def新
#超级
#结束
...
终止

2)告诉路由器使用此控制器:

为用户、控制器设计{会话:“用户/会话”}

3)将视图从设计/会话复制到用户/会话。由于控制器已更改,它将不会使用位于designe/sessions中的默认视图


4)最后,更改或扩展所需的控制器操作。

您可以完全覆盖控制器操作:

类用户::会话控制器<设计::会话控制器
def创建
#自定义登录代码
终止
终止

或者,您可以简单地向其添加新行为:

类用户::会话控制器<设计::会话控制器
def创建
超级do |资源|
BackgroundWorker.trigger(资源)
终止
终止
终止

这对于在某些操作期间触发后台作业或记录事件非常有用

请记住,Desive使用flash消息让用户知道登录是否成功。Desive希望您的应用程序根据需要调用flash[:notice]flash[:alert]。不要打印整个flash哈希,只打印特定的密钥。在某些情况下,designe会在flash散列中添加一个:timedout键,该键不用于显示。如果要打印整个哈希,请从哈希中删除此键

发表评论