내가 jbuilder
의 문서에 몰래 해요 : 내가 jbuilder
과 함께 몇 가지 코드에 자신이 테스트 한 https://github.com/rails/jbuilder이 구문 작업 수행 방법 :. 객체 (변수 : 특수 기호 : 특수 기호)
json.(@message, :created_at, :updated_at)
을
json.created_at(@message.created_at)
json.updated_at(@message.updated_at)
그러나 나는 전에이 구문을 발생 적이없는, 그리고 다른 루비이나 레일 문서에 그런 일을 본 적이 없다 :이에 동의어가 될 것으로 보인다. 루비의이 기능은 어디에 문서화되어 있습니까? 무엇 정확히하고 있으며, 거기에 어떤주의 사항이 있습니까?
편집 : 문서화 here으로
class FakeJson
def initialize
end
def call(obj, *methods)
methods.each do |method|
self.public_send(method, obj.public_send(method))
end
end
def method_missing(*args)
puts "called method with #{args.inspect}"
end
end
오! 나는 지금 그것을 얻는다라고 생각한다. JBuilder는 json 출력을 생성하는 블록 안에 자체 DSL을 가지고 있습니다. 나는'json' 객체가 (나의 위의 편집) – nzifnab
처럼 보일지도 모른다라고 생각한다. json은 proc이지, @message가 아니다. – jshort
@jshort 네 말이 맞다. 나는 그것을 바로 잡았다. – sawa