Rails:如何在 application.html.erb 布局中添加元素而不是键入硬编码的 html 元素?

发布于 2024-11-19 13:07:19 字数 205 浏览 6 评论 0原文

如何在 application.html.erb 布局中添加元素而不是键入硬编码的 html 元素?

是否可以像在 cakephp 中那样做到这一点? http://book.cakephp.org/view/1081/Elements

How can i add elements in application.html.erb layout instead of typing hard coded html element ?

Is it possible to do this like we can do this in cakephp?
http://book.cakephp.org/view/1081/Elements

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

不可一世的女人 2024-11-26 13:07:19

听起来像 Rails Partials 或助手

Sounds like Rails Partials or helpers

你在看孤独的风景 2024-11-26 13:07:19

您可以使用帮助程序来处理小片段,甚至可以使用部分帮助程序来处理较大的 html 块。 cakepho 元素看起来更类似于partials。在 Rails 中,您将有一个部分用于渲染组件,例如 _nav.html.erb 中的导航,并且可能需要一些局部变量来渲染。在您的 application.html.erb 中,您将渲染部分:

<%= render :partial => 'nav', :locals => { :var1 => 'someval', :var2 => someobj } %>

这将是您阅读的一个很好的资源: http ://guides.rubyonrails.org/layouts_and_rendering.html

You could use helpers for small snippets or even partials for larger html chunks. The cakepho element looks more similar to partials. In rails you would have a partial for rendering a component like a nav in _nav.html.erb and it may require a few local variables to render. In your application.html.erb you would render the partial:

<%= render :partial => 'nav', :locals => { :var1 => 'someval', :var2 => someobj } %>

This would be a great resource for you to read: http://guides.rubyonrails.org/layouts_and_rendering.html

爱冒险 2024-11-26 13:07:19

助手是您编写的用于帮助创建视图的 Ruby 方法。这是一个有用的:

def sentence_links objects, label_method = :name
  objects.map { |o| link_to(o.send(label_method), o) }.to_sentence.html_safe
end

在您的视图中,您可以调用 sentence_links Player.limit(3) 来输出:

<a href="/players/15692665">Pearlie Gulgowski</a>, <a href="/players/34801824">Mr. Tommie O'Conner</a>, and <a href="/players/44139906">Wyman Schumm</a>

Helpers are ruby methods you write to help create views. Here's a useful one:

def sentence_links objects, label_method = :name
  objects.map { |o| link_to(o.send(label_method), o) }.to_sentence.html_safe
end

And the in your views you can call sentence_links Player.limit(3) to output:

<a href="/players/15692665">Pearlie Gulgowski</a>, <a href="/players/34801824">Mr. Tommie O'Conner</a>, and <a href="/players/44139906">Wyman Schumm</a>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文