Я использую response_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 что-то, чего я не осознаю для такого типа поведения. Идеи?