0

Rails 控制器动作中的一个常见模式是

  1. 获取资源
  2. 对资源做一些事情(可选)
  3. 以序列化格式返回资源。

我正在寻找一个抽象出第一步的库,以便我的控制器操作可以假设资源已成功获取并避免检查异常情况。

例如,这是一个假设的show动作:

def show
  attrs   = params.slice(:handle, :provider)
  account = Account.find_by(attrs)

  if account
    respond_with account
  else
    head 404
  end
end

我想要的是更像这样的东西:

# controller
def show
  respond_with resource
end

# some initializer (basically pseudocode)
resource do |params|
  attrs = params.slice(:handle, :provider)
  Account.find_by(attrs)
end

如果find_by返回 nil,库将处理返回 404,如果提供的参数无效(缺少 :handle 键,包括额外的 :id 键等),则返回 400。

有谁知道提供这样的东西的图书馆?这是基于Application.routes.

4

1 回答 1

2

gem platformatec/inherited_resources做的事情与此非常接近。

于 2013-10-22T00:10:46.577 回答