ruby - 用户保存的数据使复选框的初始值
问题描述
背景
在我的应用程序中,用户可以从复选框中选择他们能够在个人资料编辑页面(users/edit.html.erb)上使用的多种语言。多对多关系已经写好了,所以可以正确保存多条数据。
现在,当用户返回他们的个人资料编辑页面时,所有复选框都显示为空白。我想显示用户选择并保存的“选中”语言。
用户/edit.html.erb
<li>
<div class="col-1">Spoken languages:</div>
<div class="col-2">
<label><input type="checkbox" name="language[]" value="1">Japanese</label>
<label><input type="checkbox" name="language[]" value="2">English</label>
<label><input type="checkbox" name="language[]" value="3">Chinese</label>
<label><input type="checkbox" name="language[]" value="4">Spanish</label>
</div>
</li>
我试图做的
我搜索了这种功能,但我只找到了如何制作特定的初始值(such as always check "English")
。如果有人给我建议,我将不胜感激。
版本
红宝石 2.6.4p104 RubyGems 3.0.3 Rails 5.2.3
解决方案
我能够用 include 方法弄清楚。非常感谢。
<label><input type="checkbox" name="language[]" value="1" <%= "checked='checked'" if @user.language_ids.include?(1) %>>Japanese</label>
<label><input type="checkbox" name="language[]" value="2" <%= "checked='checked'" if @user.language_ids.include?(2) %>>English</label>
<label><input type="checkbox" name="language[]" value="3" <%= "checked='checked'" if @user.language_ids.include?(3) %>>Chinese</label>
<label><input type="checkbox" name="language[]" value="4" <%= "checked='checked'" if @user.language_ids.include?(4) %>>Spanish</label>
推荐阅读
- visual-studio-code - 在 Visual Studio Code 中设置默认浏览器
- css - 如果缺少行或列,如何使 CSS 行间隙和列间隙不显示?
- python - Pandas 在单个数据框中保存多列的计数
- c# - Linq 复杂查询 C#
- kubernetes - 为什么我需要使用 kubctl apply 进行保存配置?
- flex-lexer - 如何在 Flex 中正确使用 ^ 表达式?
- java - 如何使用android java检查电话号码是否已在firebase身份验证中注册
- javascript - 在 React.js 中使用 execCommand 时无法读取未定义的属性“contentDocument”
- opencl - OpenCL 蛮力 TEA 块 32 位,密钥 64 位
- javascript - 当输入类型为文件时,localStorage 不起作用;如何在 React 中的路由之间保存文件?