2016-08-18 4 views
2

Ruby에서 jBuilder을 사용하여 JSON을 구성 할 때 어떻게 변수 이름을 사용합니까?변수 이름을 가진 Ruby JBuilder?

예를 들어, 내가 변수 var1가 있다고 가정

var1 = "query_string" 
query = Jbuilder.encode do |json| 
      json.query do 
      json.query_string do 
       json.query "SOMETHING" 
      end 
      end 
     end 

어떻게 같은 것을 수행 할 수 있습니다

json.var1 do 

오히려 명시 적 이상 : json.query_string를?

var1 = 'query_string' 

query = Jbuilder.encode do |json| 
    json.query do 
    json.public_send(var1) do 
     json.query "SOMETHING" 
    end 
    end 
end 

답변

1

이름 정적으로 알 수없는 메시지를 보내려면, 당신은 Object#public_send 방법을 사용할 수 있습니다.

GitHub의에 jbuider의 문서

이 예를 제공합니다 귀하의 예를 들어

json.set! :author do 
    json.set! :name, 'David' 
end 

# => {"author": { "name": "David" }} 

, 그것은 것입니다 뭔가 같은 :

var1 = "query_string" 
query = Jbuilder.encode do |json| 
    json.query do 
    json.set! var1 do 
     json.query "SOMETHING" 
    end 
    end 
end 
4

당신은 양자 택일 set! 방법을 사용할 수 있습니다 :

관련 문제