首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Rails -to dislpay日[Sun,Mon,Tue,.]代替rails中的布尔字段true/false

在Rails -to dislpay日[Sun,Mon,Tue,.]代替rails中的布尔字段true/false
EN

Stack Overflow用户
提问于 2021-08-06 10:59:03
回答 2查看 99关注 0票数 1

我正在做一个项目,在那里我必须安排活动。在添加事件时,用户可以在复选框上选择多天。你可以在这里看到这个数字。

选择事件发生的日期。

为此,我已经将数据库创建为

代码语言:javascript
复制
  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-特殊/海洋-剪贴板副本

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

我面临的问题是,我填写了表格,因此,由于布尔字段,我在列表中得到了fase的真值。我想将索引页面中显示的结果更改为星期日,月.X-特种/海螺-剪贴板副本

将一天显示为真或假我将控制器上的参数传递为

代码语言:javascript
复制
 def schedule_params
    params.require(:schedule).permit(:name,:begindate,:enddate,:campaign_id,:sunday,:monday,:tuesday*,:wednesday,:thursday,:friday,:saturday)<br>
 end

提前谢谢!!忽略我的发帖方式,因为我是新来的,这是我的第一篇帖子。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-08-07 00:18:03

我认为“Mosaaleb”的答案足够好

我的版本是:

代码语言:javascript
复制
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
票数 1
EN

Stack Overflow用户

发布于 2021-08-06 22:49:23

可以在计划模型中编写方法,将日期名称字符串映射到日程日期值:

代码语言:javascript
复制
def day_names
  Date::DAYNAMES.zip([sunday, monday, tuesday, wednesday, thursday, friday, saturday]).to_h
end

这将返回如下内容:

代码语言:javascript
复制
schedule.day_names
# => {"Sunday"=>true, "Monday"=>true, "Tuesday"=>false, "Wednesday"=>false, "Thursday"=>false, "Friday"=>true, "Saturday"=>true}

然后在视图中使用它,显示具有真正价值的天数。

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

https://stackoverflow.com/questions/68680482

复制
相关文章

相似问题

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