这是代码
def index
@projects = Project.all.includes(:todos)
respond_to do |format|
format.html
format.json { render json @projects => @projects.to_json(:include => :todos) }
end
end
我尝试使用Ion从我的Android应用程序中获取JSON
String serverAdress = "https://the-url.com/"
Ion.with(context)
.load(serverAdress)
.asJsonObject()
但是得到解析错误,因为没有从那里返回。如果有单独的控制器方法只能返回JSON响应,我就能获得JSON,所以这段代码工作
def indexJson
@projects = Project.all.includes(:todos)
render json @projects => @projects.to_json(:include => :todos)
end
但同样,我无法在那里发布任何内容(我的意思是其他单独的JSON控制器方法)。在rails设置或获取数据时我错过了什么?谢谢。
答案 0 :(得分:0)
您需要来自Ion的json请求才能获得JSON响应。
在第二种情况下,您还没有定义HTML返回格式,因此默认情况下rails会向您发送json响应,这就是为什么第二种情况正在起作用
答案 1 :(得分:0)
我偶然在某个网站上遇到了一些控制器评论
# GET /projects
# GET /projects.json
并试图将'.json'附加到我的地址请求中,并且它有效!为什么不告诉任何地方?,我认为'json'在请求参数中的某个位置,而不是在地址本身。