我在 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