0

Rails プロジェクトで Rabl を使用して、コントローラーから JSON を出力しています。次に、Mustache を「stache」gem と組み合わせて使用​​し、テンプレートを生成します。ただし、Mustache テンプレートは、JSON フィードの 1 つから必要な情報を取得していないため、見つけられるすべての例/解決策を試しました。

これが私のJSONです:

{
  "connectons":[
   {
     "connection":{
        "status":"accepted",
        "user":{
           "id":2,
           "first_name":"Joe",
           "last_name":"Black"
         }
      }
    },
    {
     "connection":{
        "status":"accepted",
        "user":{
           "id":2,
           "first_name":"Joe",
           "last_name":"Black"
         }
      }
    }
   ]
 }

これは私のテンプレートです:

<ul>
{{#connections}}
  <li>
    <p>{{status}}</p>
    {{#user}}
      <p>{{first_name}}</p>
    {{/user}}
  </li>
{{/connections}}
</ul>

しかし、userノードからは何も表示されません。ノードからのすべてがconnection正常に表示されます。私が知っていることはすべて試しました。私のJSONは悪いですか?また、使用している宝石に関連しているかどうかもわかりません。誰かがこれのトラブルシューティングを手伝ってくれるかどうか疑問に思っていました.

4

1 に答える 1

0

それはDeviseの問題だったことが判明しました--私は思います。Rabl は JSON を問題なく作成していましたが、何らかの理由でコントローラーを変更する必要がありました。

これを変更する必要がありました:

def index
  @connections = current_user.connections
end

に:

def index
  @user = current_user
  @connections = @user.connections
end

口ひげテンプレートの情報に問題なくアクセスできるようになりました。なぜこのように機能するのかはわかりませんが、理由がわかったら、情報を投稿します。

于 2013-03-02T17:43:19.603 に答える