Как использовать угловое представление в проекте Rails 5? - PullRequest
0 голосов
/ 09 мая 2018

Я нашел несколько статей и вопросов, объясняющих, как использовать Angular с Rails (см .: Начало работы с Ruby on Rails 5.1.4 и Angular 2+ и Начало работы с Angular 4 и Rails 5 . К сожалению, это не совсем то, что я ищу, потому что это наоборот.

В настоящее время у меня есть довольно большое приложение RoR 5, в котором я хотел бы заменить некоторые представления, и в этом приложении rails простое приложение Angular (работающее на порте 4200) с представлением.

Это вообще возможно? Можно ли запустить обычное приложение rails (не API rails) и получить представление из приложения Angular?

Я уже пробовал некоторые вещи, например визуализация представления вне действий или визуализация шаблона, расположенного вне каталога 'views' , но я не получил рабочее решение.

Пример: При посещении 'http://localhost:3000/products' я не хочу отображать соответствующий вид из rails (' products / index.html.erb '), но файл html из углового проекта в приложении rails (файл называется' product -list.component.html 'и находится в Rails.root / frontend / src / app / product-list /, где frontend - это угловой проект).

В products_controller я перезаписываю путь просмотра следующим образом:

    prepend_view_path(Rails.root.join("frontend/src/app/product-list/").to_s)

и попытайтесь получить вид так:

  def index
    # @products = Product.all

    renderer = ApplicationController.renderer.new(
      http_host: 'localhost:4200',
      https:      false
    )

   renderer.render file: "#{Rails.root}frontend/src/app/product-list/product-list.component.html"
 end

Но тогда я получаю следующую ошибку:

Missing template home/ramona/Dokumente/tutorials/angular-ror5-appfrontend/src/app/product-list/product-list.component.html with {:locale=>[:en], :formats=>[:html, :text, :js, :css, :ics, :csv, :vcf, :png, :jpeg, :gif, :bmp, :tiff, :svg, :mpeg, :xml, :rss, :atom, :yaml, :multipart_form, :url_encoded_form, :json, :pdf, :zip, :gzip], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :coffee, :jbuilder]}. Searched in: * "/home/ramona/Dokumente/tutorials/angular-ror5-app/app/views" * "/home/ramona/Dokumente/tutorials/angular-ror5-app" * "/"

Надеюсь, я объяснил это понятным образом. Если нет, пожалуйста, скажите мне, чтобы я мог поработать над моим объяснением.

Было бы здорово, если бы кто-то мог мне помочь! Или хотя бы скажите, если это возможно или нет :) 1032 *

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