我包含一个用于格式化json数据的自定义方法。
我的控制器看起来像这样:
("def" is taken out for brevity sake)
respond_to do |format|
format.json { render json: @user, :methods => [:follower_count(params[:id])] }
end
我的模型看起来像这样:
def follower_count user_id
User.find(user_id).friendships.count
end
然而,这会引发语法错误,意外'('。
我不确定如何将参数传递给控制器中的follower_count方法。我试着在广场上包装 - 没用。我没有试过括号 - 仍然无效。你如何传递论据?!
答案 0 :(得分:3)
语法错误告诉您正在尝试将符号:follower_count
用作函数。但主要的问题是,在user_id
类的所有实例方法中,当@id
已经将User
作为# controller
format.json { render json: @user, :methods => [:follower_count] }
# User.rb
def follower_count
friendships.count
end
提供时,为什么要将它传递给实例方法。
正确的代码如下所示:
{{1}}