Ruby on rails 填充下拉列表,从多个数据库表中选择
我有一个应用程序,用户可以在上面创建三种类型的多个配置文件-社交、专业和特殊兴趣。我有三个模型为用户存储关于这些配置文件类型的信息。我需要创建一个配置文件名称的下拉选择菜单,以便在这些不同配置文件的视图之间导航。我知道可以使用Ruby on rails 填充下拉列表,从多个数据库表中选择,ruby-on-rails,ruby,drop-down-menu,Ruby On Rails,Ruby,Drop Down Menu,我有一个应用程序,用户可以在上面创建三种类型的多个配置文件-社交、专业和特殊兴趣。我有三个模型为用户存储关于这些配置文件类型的信息。我需要创建一个配置文件名称的下拉选择菜单,以便在这些不同配置文件的视图之间导航。我知道可以使用collection\u select从一个数据库表填充,但如何从所有三个表填充 还可以在下拉导航栏上填充它吗?配置文件->查看我的配置文件->动态填充所有配置文件 <ul id="nav" class="dropdown dropdown-horizontal"&g
collection\u 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>
.
.
.
感谢您的帮助。谢谢 我建议,除非绝对必要,否则您可以使用一个
User
模型和一个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>
我实际上没有称为profile的模型,原因是,这三个profile具有完全不同的字段/条目集。所以,我不认为需要配置文件表,而是使用一对多的关系将用户表与三个不同配置文件直接关联。我的用户模型有很多社会人士和专业人士。我试着用“user”替换上面代码中的“profile”,但似乎不起作用。我是rails新手,所以我的问题可能有点太天真了。profile
上面是一个循环变量,@social\u profiles
是一个实例变量。您必须查询社交模型才能获得所有社交记录的列表@social\u profiles=social.all
。对于professional\u profiles