我在我的rails应用程序中使用嵌套表单。我有用户has_many user_skills协会。现在,在我的表单中,我有两个部分“用户技能”和“用户退出技能”,并为这两个部分添加了更多的选项。我在我的skill_type模型中添加了一个名为‘user_skill’的字段,以区分'in技能‘和'out技能’,分别保存值'in_skill‘和'out_skill’。
但我很困惑如何在rails中处理它。
我已经把这个加在我的表格里了,但这对我没有帮助。
.col-xs-12.no_pad.skils-fieldset
%legend In Skills
= f.fields_for :user_skills do |user_skill|
= render :partial => "users/user_skills", :locals => {:f => user_skil l}
= link_to_add_fields "Add", f, :user_skills, true, "users/user_skills"
.col-xs-12.no_pad.skils-fieldset
%legend Out Skills
= f.fields_for :user_skills do |user_skill|
= render :partial => "users/user_skills", :locals => {:f => user_skil l}
= link_to_add_fields "Add", f, :user_skills, true, "users/user_skills"显然,它将填充该用户在这两个部分的所有技能。
我该怎么处理?
我试着添加这样的条件:
-if user_skill.skill_type == 'in_skill'
= render :partial => "users/user_skills", :locals => {:f => user_skil l}做这件事的更好的方法是什么?
发布于 2016-12-14 10:36:55
user_skills.select {|skill| skill.skill_type == 'in_skill'}上面的代码片段只返回in_skill类型的技能,随后您可以迭代它,而不是使用笨重的if条件。
您还可以将in_skills和out_skills放在单独的变量中,并对模板中的变量进行迭代。
https://stackoverflow.com/questions/41137558
复制相似问题