使用单个html模板进行Rail视图和角度模板

时间:2014-11-18 15:31:59

标签: ruby-on-rails angularjs route-provider

我有一个Ruby on Rails应用程序,当用户登录时加载单页Angular JS Web App,并在用户未登录时通过RoR视图提供静态信息页面。

角度模板位于app / assets / templates /'并且rails文件位于&app; /'。

我有一个文本重的html页面,我想重复使用rails和angular。我尝试从我的angular $ routeProvider访问rails视图,将templateURL设置为视图的路径。这会导致多个角度加载实例并且卡在循环中。

    app.config ($routeProvider) ->
      $routeProvider.when('/features/',
        templateUrl: '/views/features.html'
      )

我尝试通过rails视图在assets / templates文件夹中渲染文件。由于rails无法找到部分内容,因此无法正常工作。

    = render 'assets/templates/features.html'

有谁知道我如何能够为这两个模板使用单个模板?

1 个答案:

答案 0 :(得分:0)

我很确定你的文字重页是什么意思。但是其他解决方案呢 - 用密钥(某种翻译文件)将所有文本提取到JSON文件。例如:

{ "title1": "Title", "paragraph1": "lore up sum. .." }

然后,您可以在rails控制器中加载此JSON并传递它以查看从中呈现文本部分。

<h1><%= @text ['title1'] %></h1>
<p><%= @text['paragraph1'] %></p>

并在角度应用中加载JSON作为资源并将其传递给视图。

<h1>{{ text.title1 }}</h1>
<p>{{ text.paragraph1 }}</p>     

如果您的文本以某种方式构建,您可以使用它并使用循环,条件等自动化视图,从而更多地保存重复的部分。

相关问题