填充从多个数据库表中选择的下拉列表

时间:2011-09-12 07:07:19

标签: ruby-on-rails ruby drop-down-menu

我有一个应用程序,用户可以在其上创建三种类型的多个配置文件 - 社交,专业和特殊兴趣。我有三个模型,为用户存储有关这些配置文件类型的信息。我需要创建一个配置文件名称的下拉选择菜单,以便在这些不同配置文件的视图之间导航。我知道可以使用collection_select来填充一个数据库表,但是如何从这三个表中填充?

还可以在下拉导航栏中填充吗?个人资料 - >查看我的个人资料 - >动态填充所有配置文件?

<ul id="nav" class="dropdown dropdown-horizontal">
    <li><%= link_to("Profiles", new_profile_path()) %>
    <ul>
          <li><%= link_to("View my profiles") %>
              <ul>
                  <li> *some way to populate my list here* </li>
              </ul> 
          </li>
        </ul>
           .
           .
           .

感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

我建议除非绝对必要,否则您可以拥有一个User模型和一个Profile模型,而不是为三种不同的配置文件类型设置三个单独的模型,然后在它们之间创建关联。它将导致更清洁的设计。

如果绝对有必要使用三种不同的Profile模型,那么您可以像这样填充下拉列表。

<select id="something">
  <%for profile in @social_profiles%>
    <option value="<%=profile.id%>"><%=profile.name%></option>
  <%end>
  <%for profile in @professional_profiles%>
    <option value="<%=profile.id%>><%=profile.name%></option>
  <%end%>
  .
  .
  .
</select>