Можно ли создавать и использовать контроллер без взглядов
Да, это нормально.
Главное, чтобы иметь в виду, что Ruby/Rails - это object orientated.
Это означает, что каждый, что вы делаете с контроллерами/моделями и т. Д., Должен иметь «объект», который вы манипулируете по своему ядру.
Имея это в виду, это означает, что вы можете иметь контроллер без соответствующих представлений, так как иногда вам просто нужно управлять объектом и возвращать простой ответ (например, с помощью Ajax).
-
Мы часто виды повторно использовать для различных действий (это, что считается не имеющий вид):
#app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
def search
render :index, layout: false
end
end
Понятие skinny controller, fat model
звук в принципе, должны учитывать моменты, когда вам могут понадобиться небольшие функциональные возможности, которые могут обрабатываться только :
#app/controllers/users_controller.rb
class UsersController < ApplicationController
def update
@user = User.find params[:id]
@user.update
respond_to do |format|
format.js {render nothing: true}
format.html
end
end
end
очень рудиментарным пример Rails является МкДрайв:
view
= входной интерфейс
controller
= принимает заказ & поставляет
model
= получает заказ упакован и т.д. в интерфейсе
Бывают моменты, когда контроллер m ay не нужно представление (например, если вы обновляете свой заказ с конкретными требованиями к диетике), и, таким образом, представление о том, что каждое действие контроллера должно иметь представление, является ложным.
Речь идет о том, чтобы сделать ваш контроллер достаточно универсальным для правильного управления вашими объектами.
нет, если ему не нужен вид, его не нужно размещать в контроллере, это должно быть сделано внутри модели –
, вы также можете создавать новые классы/модули libs и загружать их, если вам нужна настраиваемая логика, которая не привязан к ActiveRecord – blnc