Я использовал ответ html и json с классическим respond_to do |format|
, но теперь я пытался реализовать загрузку данных xhr, и через некоторое время поиска это было мое решение (с соответствующими шаблонами js и html):
respond_to :html, :js, :json
# GET /messages
def index
@search = Messages.valid.search(params[:search])
@messages = @search.paginate(:page => params[:page])
respond_with(@messages, :layout => !request.xhr?)
end
Ответы html и js работают правильно, но теперь, если я хочу вызвать что-то вроде /messages.json
, меня бросает:
ArgumentError in MessagesController#index
There was no default layout for MessagesController in [#<ActionView::FileSystemResolver:0x1064c23c0 @caching=false, @path="/Users/alter/workspace/trilog/app/views", @cached={}>]
Как respond_with
обрабатывать такие данныетипы?И что я должен сделать, чтобы получить ответы во всех различных типах форматов?
Заранее спасибо
Обновление
Как появляется здесь Я добавил шаблон index.json.haml
с одной строкой =@messages.to_json.html_safe
, но я не думаю, что добавление шаблона для типа json будет лучшим решением.Есть идеи?