Частично для контроллера - как? - PullRequest
0 голосов
/ 25 апреля 2018

Извините, если это вопрос новичка, я пытаюсь найти правильный способ его кодирования:

Мне нужно повторно использовать представление И его логику в нескольких местах в моем приложении

В этом представлении есть некоторый javascript, я буду использовать «render» для его отображения (ajax и innerHTML не имеют отношения), но я не хочу повторять свою логику в каждом контроллере, использующем его, поэтому: является ли это «частичным» способ сделать это в моем контроллере? Контроллер "частичный" способ ввода кода?

единственное решение, которое у меня есть на данный момент, это скопировать / пропустить код контроллера, и я не хочу этого делать

1009 * привет *

Gregoire

1 Ответ

0 голосов
/ 25 апреля 2018

Вы можете использовать родительский класс, чтобы содержать весь дублированный код контроллера.Простой подход заключается в использовании ApplicationController со всеми доступными затем методами для его потомков.

class ApplicationController < ActionController::Base
  def say_hello
    puts "Hello"
  end
end

class Subcontroller < ApplicationController
  def index
    say_hello # => Hello
  end
end

Это простой подход, хотя объект presenter, decorator или service может бытьболее подходящий.Проведите поиск и посмотрите, что соответствует вашим потребностям, или я могу дать больше информации, если вы немного расширите вопрос.

Надеюсь, что это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...