2017-03-17 1 views
0

레일에 샘플 앱을 개발 중입니다. 지금, 나는이 부울 변수 hasUser의 값을 확인하고 싶은 그것이 사실 인 경우, 만 내가 다른 사용자에 대한 사용자 정보를 전달해야합니다, 단지 JSON으로 만 성공 이미지를 전달해야json을 레일에 렌더링 할 때 추가 체크

내 코드는

아래에 주어진

hasUser = false 
render json: { 
    status: 'success', 
    user: @user 
} 

2 가지 조건으로 두 개의 렌더링 json을 쓰고 싶지는 않지만 두 조건 모두에서 제대로 작동하도록 확인을 추가 할 수 있습니까?

업데이트

나는 값 hasUser이 false 인 경우 사용자가 null 값을 갖는와 응답을 생성합니다

render json: { 
    status: 'success', 
    user: (hasUser ? @user: nil) 
} 

로 변경되었습니다. 응답에서 사용자 부분을 제거해야합니다.

답변

1

Gemfile

gem 'jbuilder', '~> 2.0' 

파일 이름을 생성

filename.json.jbuilder

json.status "success" 
if @hasUser 
    json.user @user 
end 

또는

내가 hasUser 경우 응답에서 사용자 필드를 제거해야
hasUser = false 
data = { 
    status: 'success', 
    user: @user 
} 
data.delete(:user) unless hasUser 

render json: data 
+0

값은 거짓입니다. – CR7

+0

추가 파일을 만들어야합니까? – CR7

+0

예 확장자가 json.jbuilder 인 fie를 생성해야합니다. – puneet18

관련 문제