Есть ли способ назвать одну модель другой? ИППП Вопрос - PullRequest
0 голосов
/ 30 мая 2019

Хотелось бы узнать, есть ли способ назвать модель суперклассом

Я использую STI для своих блоков health_units в своей базе данных, поэтому у меня есть одна модель HealthUnit, в которую я помещаю все свои проверки и несколько полезных методов, а затем строю другие модели, используя STI после HealthUnit, например OdontologyUnit и EmeregencyUnit.

Я попытался передать их как локальные с super(health_unit) после извлечения их из базы данных с помощью HealthUnitModel, но это не сработало.

Я попытался перечислить все единицы в моем представлении HealthUnit#index, где я использую _health_unit.html.slim, и чтобы решить, что мне просто нужно изменить мою строку render partial: health_unit на render partial: 'health_unit' locals: {health_unit: health_unit}, чтобы она работала, но она не работает кажись мне правильным.

Также, когда я пытался получить доступ к представлению HealthUnit#show, он пытается перенаправить на пути дочерней модели вместо пути health_unit/(:id).

Наконец, я попытался получить доступ к представлению шоу, перенаправив его в контроллерах на мои правильные модели, но получаю ошибку. Rails говорит, что это из-за моего 'comments/_form.html.slim' файла. Я помещу этот файл ниже, но опять-таки эта проблема связана с тем, что модели извлекаются из базы данных как дочерняя модель, а не как родительская модель, и я только устанавливаю путь ресурса 'comments', вложенный в путь 'health_units'.

! comments/_form.html.slim
div
    = form_for [page, Comment.new] do |f|

        .field
        = f.label 'comentário'
        br
        = f.text_area :body
        .actions = f.submit

Я хотел бы знать, есть ли способ передать единицы, которые я получаю, как health_units (родительская модель) вместо одной из дочерних моделей.

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