4

jbuilder を使用して、イベントのリストから json ファイルを作成しようとしています。特定の形式である必要があります。現在、jbuilder ファイルに何を入れても、users/1/events.json に移動すると、ファイルは空白です ({} のみ)。

コントローラーに応答ブロックを配置しようとしましたが、イベントのリストが間違った形式で返されるだけです。

URL /users/1/myevents.json が要求されたときにファイル myevents.json.jbuilder が正常にレンダリングされたことがログ ファイルに示されているため、ルーティングは適切に行われたと思います。さらに、.html が要求されると、myevents.html ファイルが正常に表示され、すべての正しい情報が含まれています。

私はこれに本当に困惑しています、どんな助けでも大歓迎です!!

誰かが何かを拾うことができる場合に備えて、関連するすべてのコードをリストします。

イベントコントローラー:

def myevents
    @events = current_user.events
end

myevents.json.jbuilder:

Jbuilder.encode do |json|
    json.timeline do
        json.headline current_user.first_name
        json.type "default"
        json.text "A Timeline"
        json.start_date
        json.array!(@events) do |event|
            json.start_date event.start_date
            json.end_date event.end_date
            json.headline event.headline
            json.text event.text
            json.asset do
                json.media event.media
                json.credit event.credit
                json.caption event.caption
            end
        end
    end
end

環境.rb:

Jbuilder.key_format :camelize => :lower

ルート.rb:

match 'users/:id/events' => 'events#myevents'
4

3 に答える 3

3

私の知る限り、スキップできます

Jbuilder.encode

このブロックなしで試してみてください。おそらくすべて問題ありません。

于 2012-11-01T09:40:20.440 に答える
1

理解した。何らかの理由で、Jbuilder.encode do | json |という行は、使用するドキュメントにリストされているものであるにもかかわらず、それが好きではありません。ただし、応答の構文はまだ完全には正しくありません。

于 2012-10-12T12:01:00.927 に答える