-1

多かれ少なかれ複雑な JSON サーバー応答をレンダリングするために、Web アプリケーションで優れた Tequila-JSON パーサー ( http://github.com/inem/tequila ) を使用しています。JSON-Templates (.jazz) は、どういうわけか実際の「ビュー」でますます成長しています。私は今、インスタンス変数を対応するコントローラーから .jazz テンプレートに取得しようとしていますが、これはどういうわけか失敗します。

これが私がやろうとしていることです。

コントローラー

def get_userlist

  @users = User.find(:all, :order => "value DESC", :limit => 10)    
  @user = User.find_by_email(params[:user_email])      
  @userid = @user.id # also tried: @userid = 2 

  respond_to do |format|
    format.json
  end
end

.jazz ビュー:

-@users
  :only
    .nickname
    .level
    .user_icon_url
    .email
    :methods
      .isfriend(@userid)
  +last_checkin
  +last_checkin_place
    :only
      .name
      .city

これはすべて非常に有効な JSON サーバー応答を返しますが、残念ながら、

:methods
  .isfriend(@userid)

メソッド「isfriend」はモデル「User」に存在し、正常に呼び出されて JSON で返されます。しかし、インスタンス変数の値がなぜか間違っています。上記とは対照的に、これはうまく機能します:

:methods
  .isfriend(1)

ここで質問です: Tequila は独自の .jazz テンプレートでインスタンス変数を解釈できませんか? 経験、解決策、または回避策を持っている人はいますか?

完全を期すために、ユーザーモデルの isfriend メソッドを次に示します。

def isfriend(user_id)
  "Hi, I am User with the id: " + user_id.to_s
end
4

1 に答える 1

1

いいえ。また、Rails 3 では動作しません。移植しようとして 6 時間費やしましたが、基本的にどこにも行きません :-(

于 2010-10-07T10:33:07.753 に答える