我的路线是这样的:
/orders/preview
它返回如下内容:
<order><total>100</total></order>
我想将此方法添加到事件资源类中。执行此操作的最佳方法是什么?
我开始做这样的事情:
class Order < ActiveResource::Base
def self.preview(params = {})
post(:preview, params)
end
end
这似乎有效,但我得到的是 Net::HTTP
响应而不是 Order
对象。我做错了什么?
最佳答案
我在处理不同的格式时遇到了类似的问题......我已经通过明确说明我想要使用的格式来解决这个问题:
在ActiveResource模型中,设置self.format参数
class Order < ActiveResource::Base
self.site = "http://lbv.me"
self.format = :json
end
在 ActiveRecord 模型中,如果您使用“respond_with”方法,您实际上必须说明您希望它响应的格式,如下所示:
class UsersController < ApplicationController
respond_to :html, :json
def show
@user = User.find(params[:id])
respond_with @user
end
.
.
.
end
关于ruby-on-rails - 向 Active Resource 类添加非静态自定义方法的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8159538/