ruby-on-rails - 在 Ruby on Rails 中 - 显示 day[Sun, Mon, Tue,...] 而不是 rails 中的布尔字段 true/false
问题描述
我正在从事必须安排活动的项目。添加事件时,用户可以在复选框上选择多天。您可以在此处查看该图。
为此,我创建了数据库
def change
add_column :schedules, :sunday, :boolean
add_column :schedules, :monday, :boolean
add_column :schedules, :tuesday, :boolean
add_column :schedules, :wednesday, :boolean
add_column :schedules, :thursday, :boolean
add_column :schedules, :friday, :boolean
add_column :schedules, :saturday, :boolean
end
我选择日期的部分表单看起来像 x-special/nautilus-clipboard 副本
.field
= f.check_box :sunday
= f.label :day, "Sunday",class:"mx-2"
br
= f.check_box :monday
= f.label :day, "Monday",class:"mx-2"
br
= f.check_box :tuesday
= f.label :day, "Tuesday",class:"mx-2"
br
= f.check_box :wednesday
= f.label :day, "Wednesday",class:"mx-2"
br
= f.check_box :thursday
= f.label :day, "Thursday",class:"mx-2"
br
= f.check_box :friday
= f.label :day, "Friday",class:"mx-2"
br
= f.check_box :saturday
= f.label :day, "Saturday",class:"mx-2"
我面临的问题是我填写了表格,因此由于布尔字段,我在列出时变得真实。我想将索引页面中显示的结果更改为 sunday、moday、... x-special/nautilus-clipboard copy
将日期显示为真或假
我已将控制器上的参数传递为
def schedule_params
params.require(:schedule).permit(:name,:begindate,:enddate,:campaign_id,:sunday,:monday,:tuesday*,:wednesday,:thursday,:friday,:saturday)<br>
end
提前致谢!!忽略我的发帖方式,因为我是新来的,这是我的第一篇文章
解决方案
我认为@Mosaaleb 的回答已经足够好了
我的版本是:
def occur_days
days = %w[sunday monday tuesday wednesday thursday friday saturday]
days.select { |d| attributes[d] }.join(', ')
end
schedule.sunday = true
schedule.friday = true
schedule.occur_days
# => sunday, friday
推荐阅读
- java - 向 RecyclerView 添加额外项目(将本地存储中的数据与在线服务器数据混合)
- matlab - 如何将此特定方程转换为 matlab 代码
- javascript - 如何在 laravel 中制作视频播放列表
- android - Android Studio:从 2 个不同的 JSONArray 解析 JSON 数据
- performance - 优化 Redis-Graph 查询性能(匹配)
- java - 是否有一个 Spring AOP 注释,只有当该注释返回 true 时才允许我们进入一个方法?
- r - R'memisc'包:为什么“as.data.frame()”将data.set的0/1值更改为data.frame中的1/2?
- php - 使用范围内的价格过滤产品
- javascript - 修改 querySelector 以应用于所有页面元素 (querySelectorAll)
- babeljs - Babel:转译成单个输出文件