尝试从rabl
#app/controllers/recipes_controller
class RecipesController < ApplicationController
respond_to :json
def unpublished
@unpublished = Recipe.unpublished.for_user(<uer id>)
end
end
#app/views/recipes/unpublished.rabl
collection @unpublished
attributes :id
但问题是如果@unpublished #=> []
,我的rabl
模板为nil:NilClass`错误提供了undefined method
id'。
我做了一些搜索,我找不到一个简单的方法。我相信应该有一个简单的方法,例如:
collection @unpublished
attributes :id , if => :id
答案 0 :(得分:0)
Rabl似乎没有解决方案。你的答案似乎很好但如果你有很多属性会很麻烦。您可以为所有属性here
提供条件lambda答案 1 :(得分:0)
我认为你可以使用
if @unpublished.id.present?
attributes :id
else
extends "you can create a file rabl for handle is {#api/error}"
end
example: error.rabl
object false
node :message do
"some think went wrong"
end
我希望这可以帮助,:))