首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >嵌套表单问题rails 4.0

嵌套表单问题rails 4.0
EN

Stack Overflow用户
提问于 2016-12-14 08:04:55
回答 1查看 21关注 0票数 0

我在我的rails应用程序中使用嵌套表单。我有用户has_many user_skills协会。现在,在我的表单中,我有两个部分“用户技能”和“用户退出技能”,并为这两个部分添加了更多的选项。我在我的skill_type模型中添加了一个名为‘user_skill’的字段,以区分'in技能‘和'out技能’,分别保存值'in_skill‘和'out_skill’。

但我很困惑如何在rails中处理它。

我已经把这个加在我的表格里了,但这对我没有帮助。

代码语言:javascript
复制
.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"

显然,它将填充该用户在这两个部分的所有技能。

我该怎么处理?

我试着添加这样的条件:

代码语言:javascript
复制
-if user_skill.skill_type == 'in_skill'
  = render :partial => "users/user_skills", :locals => {:f => user_skil l}

做这件事的更好的方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-14 10:36:55

代码语言:javascript
复制
user_skills.select {|skill| skill.skill_type == 'in_skill'}

上面的代码片段只返回in_skill类型的技能,随后您可以迭代它,而不是使用笨重的if条件。

您还可以将in_skills和out_skills放在单独的变量中,并对模板中的变量进行迭代。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41137558

复制
相关文章

相似问题

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