我有一个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'
有谁知道我如何能够为这两个模板使用单个模板?
答案 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>
如果您的文本以某种方式构建,您可以使用它并使用循环,条件等自动化视图,从而更多地保存重复的部分。