带钩子的公共文件夹中的 HTML
我的公共文件夹中有一个 HTML 文件 (index.html)。 这些 HTML 中有一些“钩子”。 就像:
<div>{client_ssnumber}</div>
<div>{client_company}</div>
我必须检索该文件并使用控制器方法中获得的数据完成挂钩中的信息,然后显示在屏幕上。
Rails 的方法是什么?
I have an HTML file (index.html) in the public folder.
These HTML has some "hooks" in it.
Like:
<div>{client_ssnumber}</div>
<div>{client_company}</div>
I have to retrieve this file and complete the information in the hooks using data obtained in a controller´s method, then display in the screen.
What is the rails way to do it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你不能这样做(没有可怕的黑客攻击),在检查路由器之前查找公共文件是硬编码的。
无论如何,你的客户是错的。告诉他们使用“<%= ... %>”而不是“{ ... }”并将其移动到视图中(您应该将其移动到视图中,这样它就在您想要的位置,然后只需告诉他们文件名是什么)。
没有合理的理由来构建自己的模板语言。它会变得更加麻烦和缓慢,并且会增加很多时间来将产品推出市场。另外,您还必须维护该代码。这是一个已解决的问题,使用 ERB。如果他们真的喜欢这种语法,请使用 Mustache ,它非常相似,并且是一种现有的模板语言。
如果你不能让他们做到这一点,那么你就会遇到比如何呈现此页面更大的问题。
You can't do this (without terrible terrible hacking), it's hard coded to look for public files before checking the router.
Anyway, Your client is wrong. Tell them to use "<%= ... %>" instead of "{ ... }" and move it into a view (you should move it into the view, so it's where you want it to be, then just tell them what the name of the file is).
There is no sensible reason to make up your own templating language. It will be buggier and slower, and it will add a lot of time to get the product out the door. Plus you'll then have to maintain that code. This is a solved problem, use ERB. If they really like that syntax, use Mustache which is pretty similar, and is an existing templating language.
If you can't get them to do this, you have much bigger problems than how to render this page.
将它们放在
app/views/
上的视图中,并使用erb
或haml
等模板引擎。然后,您可以在控制器
中分配变量并在视图
中使用它们。Put them in a view, on
app/views/
and use a template engine likeerb
orhaml
. You can then assign variables in acontroller
and use them in yourview
.