Я использую respond_with
, и все подключено правильно, чтобы получить данные правильно. Я хочу настроить возвращенные форматы json
, xml
и foobar
сухим способом, но я не могу понять, как это сделать, используя ограниченные :only
и :include
. Это здорово, когда данные просты, но со сложными находками они не соответствуют тому, что я хочу.
Допустим, у меня есть сообщение, в котором has_many
images
def show
@post = Post.find params[:id]
respond_with(@post)
end
Я хочу включить изображения с ответом, чтобы я мог это сделать:
def show
@post = Post.find params[:id]
respond_with(@post, :include => :images)
end
но я действительно не хочу отправлять весь объект изображения, только URL. В дополнение к этому, я действительно хочу иметь возможность делать что-то подобное (псевдокод):
def show
@post = Post.find params[:id]
respond_with(@post, :include => { :foo => @posts.each.really_cool_method } )
end
def index
@post = Post.find params[:id]
respond_with(@post, :include => { :foo => @post.really_cool_method } )
end
... но все сухим способом. В старых проектах с рельсами я использовал XML-сборщики для настройки вывода, но реплицируя его через json, xml, html, все равно не кажется правильным. Я должен представить, что гуру-рельсы что-то помещают в Rails 3, что я не понимаю этого поведения. Идеи?