如何在Rails 5项目中使用Angular视图?

时间:2018-05-09 13:45:41

标签: angular ruby-on-rails-5

我找到了一些解释如何使用Angular和Rails的文章和问题(请参阅:Getting Started with Ruby on Rails 5.1.4 and Angular 2+ Get Started with Angular 4 and Rails 5。不幸的是,这不是我想要的,因为这只是另一种方式。

目前我有一个非常大的RoR 5应用程序,我想用一个视图替换一些视图,并在rails应用程序中使用一个简单的Angular应用程序(在端口4200上运行)。

这甚至可能吗?我可以运行普通的rails应用程序(不是rails API)并从Angular应用程序获取视图吗?

我已经尝试了一些事情,例如render a view outside of actionsrender a template located outside of the 'views' directory ,但我没有得到有效的解决方案。

实施例: 访问“http://localhost:3000/products”时,我不想从rails('products / index.html.erb')渲染相应的视图,而是从rails应用程序中的角项目渲染一个html文件(该文件称为'product -list.component.html'并且位于Rails.root / frontend / src / app / product-list /中,其中frontend是角项目。)

在products_controller中,我按如下方式覆盖视图路径:

const Layout =  (...props, data)  => {

并试图获得这样的观点:

    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

我希望我以一种可以理解的方式解释它。如果没有,请告诉我,以便我可以解释。

如果有人能帮助我真的很棒!或者至少告诉我是否可能:)

0 个答案:

没有答案