gpt4 book ai didi

ruby-on-rails - 如何对复杂的 Controller 进行 RESTful 化

转载 作者:行者123 更新时间:2023-12-04 03:53:40 25 4
gpt4 key购买 nike

我有一个带有 Action 的 Controller :

class GameController < ApplicationController
before_filter :set_titles

def prestart
end

def wait
end

def play (game)
end


def button
end

def finish
end


def set_titles
end

set_titles 将获取页面标题(以及所有操作的其他常规属性)所有其他操作都会检查某些内容并呈现 View 。

如何对其进行 RESTful 化。我只能想到创建一个 Wait_player Controller 和 play_game Controller 等,它们都只有一个 show Action 。但这看起来很笨拙,而且比在同一个 Controller 中执行所有这些相关操作更难。

最佳答案

首先,我会考虑 RESTful 设计是否是此 Controller 的最佳选择。有些领域与 REST 不太匹配,如果您试图将它们塞入其中,您会增加工作量和混淆。我不太了解您的应用,无法回答这个问题,但值得考虑。

如前所述,REST 处理名词。查看您发布的内容,我看到的主要名词是game。因此,要使其成为 RESTful,您所称的“prestart”可能是 new,而您的“play”可能是 create。 “完成”可以是destroy。 “等待”可以保持“等待”。并非 RESTful Controller 中的每个操作都必须是标准的七种操作之一。我认为没有任何 RESTful 等效于“等待”。

您还有按钮。如果不了解您的应用程序的更多信息,很难说,但也许应该有自己的 Controller 。通常,对于 RESTful Rails 应用程序,每个不同的实体都会通过七种标准操作中的一种或多种获得自己的 Controller 。

“如何 RESTful-ize 这个。我只能想到创建一个 Wait_player Controller 一个 play_game Controller 等等。”

这种方法更像是考虑为您想要执行的每个 Action 创建一个 Controller 。 Intead,试着为每个你想要操作的事物考虑一个 Controller 。例如,使用 shownewcreate 来代替 WaitPlayer Controller ,使其成为 Player Controller 等等(标准的 RESTful Action ),然后可能还有一个 wait Action 。

关于ruby-on-rails - 如何对复杂的 Controller 进行 RESTful 化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1059567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com