我正在开发rails中的示例应用程序。现在,我想检查布尔变量hasUser的值,如果是真的,那么只需要将用户详细信息传递给用户,否则只需要将成功图像作为JSON传递
我的代码如下:
hasUser = false
render json: {
status: 'success',
user: @user
}
我不想为两个条件写两个渲染json,而是可以添加检查以便它在两个条件下都能正常工作。
更新
我已将其更改为
render json: {
status: 'success',
user: (hasUser ? @user: nil)
}
如果值hasUser为false,则会生成具有null值的用户的响应。我需要从响应中删除用户部分。
答案 0 :(得分:1)
gem 'jbuilder', '~> 2.0'
创建文件名
json.status "success"
if @hasUser
json.user @user
end
OR
hasUser = false
data = {
status: 'success',
user: @user
}
data.delete(:user) unless hasUser
render json: data