首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >可以在application.html.erb中访问模型数据库表中的值吗?

可以在application.html.erb中访问模型数据库表中的值吗?
EN

Stack Overflow用户
提问于 2011-01-19 05:29:47
回答 3查看 172关注 0票数 0

我正在试着做一个应用程序

有了用户,这个用户可以加入多个组-每个组在页面上都有相同的菜单,他们的组页面可以访问关于group/1或group/2的内容

所以我想把菜单放在application.html.erb里,lnk依赖于group.id --但是我不知道如何在application.html.erb里访问这个id

EN

Stack Overflow用户

回答已采纳

发布于 2011-01-19 08:50:41

这通常是在布局中使用content_for来完成的。假设您希望菜单位于application.html.erb中的某个div中

代码语言:javascript
复制
# application.html.erb
<div id="menu_div>
  <ul>
  ... etc ...
  </ul>
</div>

将内部内容替换为yield语句:

代码语言:javascript
复制
<div id="menu_div>
  <%= yield :group_menu %>
</div>

然后在视图样板中添加content_for块:

代码语言:javascript
复制
# page
<% content_for :group_menu do %>
  <ul>
  ... etc ...
  </ul>
<% end %>

然后,每个页面模板都可以在content_for块中定义自己的菜单代码。这可以通过在块中使用帮助器方法并传入实例变量来进一步推广。

编辑

假设在控制器中分配了@group,您可能会执行如下操作:

代码语言:javascript
复制
<% content_for :group_menu do %>
  <%= show_me_the_menu(@group) %>
<% end %>

在helper中(显然是人为设计的例子)

代码语言:javascript
复制
def show_me_the_menu(group)
  content_tag :ul do
    group.users.collect do |user|
      concat(content_tag(:li, user.some_method))
    end
  end
end
票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4729267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档