respond_with
принимает некоторые параметры, например. respond_with(@resource, methods: [:method])
Эти параметры должны использоваться в каждом действии. Поэтому вместо того, чтобы вручную вводить его в каждый метод, есть ли возможность установить некоторые параметры по умолчанию только для этого контроллера?Rails 3.2 response_with
0
A
ответ
1
Простой и настраиваемый способ сделать это, создав новый метод ответа, который обертывает responses_with.
Например:
class ResourcesController < ApplicationController
def index
@resources = Resource.all
custom_respond_with @resources
end
private
def custom_respond_with(data, options={})
options.reverse_merge!({
# Put your default options here
:methods => [ :method ],
:callback => params[:callback]
})
respond_with data, options
end
end
Вы можете, конечно, также перезаписать respond_with полностью, однако, я считаю, что это будет намного яснее в коде, если изменить имя метода. Он также позволит вам использовать custom_respond_with в большинстве действий, но стандартный response_with в одном или двух случаях, если это необходимо.
Принимая этот шаг дальше, если вы переместите метод custom_respond_with на ApplicationController, вы можете использовать его во всех своих контроллерах по мере необходимости.
Если вы хотите, чтобы указать различные параметры по умолчанию на каждый контроллер основе, вы можете сделать это легко:
class ResourcesController < ApplicationController
def index
custom_respond_with Resource.all
end
private
def custom_respond_options
{ :methods => [ :method ] }
end
end
class ApplicationController < ActionController::Base
protected
def default_custom_respond_options
{}
end
def custom_respond_with(data, options={})
options.reverse_merge! default_custom_respond_options
respond_with data, options
end
end
Смежные вопросы
- 1. Понимание `response_with` in Rails
- 2. Понимание Rails 3's response_with
- 3. Rails response_with & Rspec контроллеры: тестирование неуспешного обновления
- 4. Rails response_with неправильно работает с json
- 5. Rails response_with поведение для удаленного ресурса?
- 6. Контроллер Rails response_with json от двух моделей
- 7. Rails 3.1 response_with не работает в производстве
- 8. Работа с и тестирование Rails ActionController's response_with
- 9. Включая атрибут «type» в json response_with Rails 3.1
- 10. Параметры для response_with
- 11. Rails 3.2 Расположение двигателей
- 12. Autocomplete in Rails 3.2
- 13. Rails 3.2: Ошибка метода
- 14. Rails 3.2 ActiveRecord concurrency
- 15. Rails 3.2 Query - .exists?
- 16. Rails 3.2 + Require.js?
- 17. Subdomain Login Rails 3.2
- 18. Rails 3.2 precompilation failed
- 19. Rails 3.2 Asset Pipeline
- 20. Валидация в Rails 3.2
- 21. Ошибка Rails 3.2
- 22. Rails 3.2 и activeadmin
- 23. Rails 3.2 Маршрутизация Ошибка
- 24. Rails 3.2 flotilla
- 25. Rails 3.2 assets: precompile
- 26. NoMethodError Rails 3.2
- 27. Rails 3.2 streaming
- 28. Rails 3.2 и тонкий
- 29. has_messages analog Rails 3.2
- 30. Rails 3.2 Event Logging