1

这是我不太了解的东西,我使用 Laravel 为自己制作了一个应用程序,并希望保持标准。

所以我有以下内容:

class UserController extends BaseController {

    GET index(), show(), new(), edit()        
    POST create()
    PUT update()
    DELETE destroy()
}

class UserModel { hasMany->Assets }

class Asset { pulic function fetchAssetsFromApi(); }

现在我没有 Asset 控制器,因为 Asset 没有任何东西需要自己显示。我只是有用于 ORM 目的的模型来表示assets表。

现在 Assets 模型有一个方法可以提取与特定用户关联的资产并将它们添加到数据库中。

现在,我呈现的视图UserController->show有一个名为 Update Assets 的按钮,它应该调用fechAssetsFromApi()来更新角色资产。但是,由于无法单独使用按钮调用,我将不得不 POST 到控制器。

这意味着现在我需要在我的方法中使用另一种方法,UsersController因为它是唯一使用 Assets 模型的方法。

现在我的问题是这是否违反了 RESTfull 控制器的规则和指南?如果我接近它,我将在应用程序中多次出现这种类似的困境。

一个适当的 RESTFull 控制器应该只包含 CRUD 还是?

4

1 回答 1

1

据我所知,在控制器中拥有更多功能是可以的,但您应该只将公共功能作为您的 CRUD 功能。在这种情况下,我只需创建一个链接,单击该链接后,它就会返回到同一条路线。这意味着show()将调用相同的函数,除了任何已更新的内容现在将被拉到页面上。本质上是强制刷新浏览器页面。

于 2013-07-18T16:13:44.113 回答