ruby-on-rails-3 – 在Rails 3中传递参数以产生(或者可能吗?)

我正在尝试使用yield和content_for创建动态内容.基本上我有一堆布局.我不想为每个布局创建一堆视图.我想在需要时渲染视图部件.对于代码的不同部分,它是可以的.但我有相同的部分与不同的内容有问题.

在我的application.html.erb中

<%= yield %>
<%= yield :name_section %>

在我的show.html.erb中我有;

<% content_for :name_section do %>
    <b>Name:</b>
    <%= @post.name %>
<% end %>

这是个问题;

如果我想要多个具有不同内容的name_section,该怎么办?我的意思是;我想把:name_section在我的视图中的不同地方用不同的内容.

对于前

<table>
  <tr>
    <td>
      <%= yield :name_section %>
    </td>
  </tr>
  <tr>
    <td>
      <%= yield :name_section %>
    </td>
  </tr>
</table>

有任何想法吗?

谢谢.
Çağdaş

解决方法

我相信你现在要求的是:
# The template
<%= render layout: "my_layout" do |customer| %>
  Hello <%= customer.name %>
<% end %>

# The layout
<html>
  <%= yield Struct.new(:name).new("David") %>
</html>

从:
http://api.rubyonrails.org/classes/ActionView/Helpers/RenderingHelper.html#method-i-_layout_for

希望这有助于其他人寻找相同的解决方案.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...