-1

我在 Web 应用程序中使用了出色的 Tequila-JSON Parser ( http://github.com/inem/tequila ) 来呈现或多或少复杂的 JSON 服务器回复。越来越多的 JSON 模板 (.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”驻留在模型“用户”中,被成功调用并以 JSON 格式返回,它应该是什么。但是实例变量的值不知何故是错误的。与上述相反,这个工作正常:

:methods
  .isfriend(1)

现在的问题是:Tequila 不能在它自己的 .jazz 模板中解释实例变量吗?有没有人有经验,解决方案或解决方法?

为了完整起见,这里是 User-Model 的 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 回答