在我的rails应用程序中,我使用了'devise‘。我还为用户添加了“机构”选择字段和“校园”选择字段,当用户选择一个“机构”时,字段“校园”会改变到目前为止一切都好,我的问题是当我想要编辑用户的配置文件时。
当我转到编辑时,我希望选择字段的默认值是用户所属的字段。这只解决了“机构”的问题:
= select_tag(:institution, options_for_select(Instituicao.all.map {|institution| institution.name, institution.id] },
[current_user.campus.institution.name, current_user.campus.institution.id])但是对于“校园”,我无法获取默认值作为用户已经属于的“校园”,这就是“校园”选择现在的方式:
= select_tag(:campus, options_for_select(Institution.first.campus.map {|campus| [campus.name, campus.id] })发布于 2012-04-30 22:32:42
解决我自己的问题:
只需像这样做校园选择字段:
= select_tag(:campus, options_for_select(current_user.campus.institution.campus.map {|campus| [campus.name, campus.id] }))发布于 2012-04-30 07:38:17
= select_tag(:campus,
options_for_select(
Institution.all.campus.map {|campus| [campus.name, campus.id] },
current_user.campus.id # ??? don't really know how your relationships are set up
)它看起来像是一个用户属于一个校园,一个校园属于一个机构,但是你没有发布足够的代码来确定。
您的第一个工作示例可以简化为:
= select_tag(:institution,
options_for_select(
Instituicao.all.map {|institution| institution.name, institution.id] },
current_user.campus.institution.id)https://stackoverflow.com/questions/10376686
复制相似问题