搜索下拉列表的枚举过滤器
Ransack on enum filter for dropdown list
class Schedule < ApplicationRecord
belongs_to :event
enum county: {USA: 0, INDIA: 1, Brasil: 2}
end
在 index.erb.html
中搜索 select
<%= f.collection_select :schedules_county_matches_all, Schedule.counties.map{ |dp| [dp.first, dp.first.humanize] }, :first.to_s, :second ,:include_blank => "All"%>
给出输出 select 下拉列表但不是 Postgres 数据库中存储为整数而不是字符串的值
<li class=""><span>All</span></li>
<li class=""><span>USA</span></li>
.......
作为工作过滤器,我想它应该在 li
中增加价值
<li value=""><span>All</span></li>
<li value="0"><span>USA</span></li>
.......
使用下面的代码行解决你的问题
<%= f.select :schedules_county_matches_all, Schedule.counties.map { |r| [r[0], r[1].to_i] }, include_blank: true %>
创建你的掠夺者。
# user.rb
enum role: [:Admin, :Analyst]
ransacker :role, formatter: proc {|v| roles[v]} do |parent|
parent.table[:role]
end
然后在您的 index.html.erb
中添加该字段
<%= f.select :role_eq, User.roles.keys , {:include_blank => 'All Roles'}, { :class => 'form-control' } %>
<%= f.select :schedules_county_eq, options_for_select(Schedule.counties), include_blank: 'All' %>
Rails7、搜查2.5.0。小写字符串。
class Schedule < ApplicationRecord
belongs_to :event
enum county: {USA: 0, INDIA: 1, Brasil: 2}
end
在 index.erb.html
中搜索 select<%= f.collection_select :schedules_county_matches_all, Schedule.counties.map{ |dp| [dp.first, dp.first.humanize] }, :first.to_s, :second ,:include_blank => "All"%>
给出输出 select 下拉列表但不是 Postgres 数据库中存储为整数而不是字符串的值
<li class=""><span>All</span></li>
<li class=""><span>USA</span></li>
.......
作为工作过滤器,我想它应该在 li
中增加价值<li value=""><span>All</span></li>
<li value="0"><span>USA</span></li>
.......
使用下面的代码行解决你的问题
<%= f.select :schedules_county_matches_all, Schedule.counties.map { |r| [r[0], r[1].to_i] }, include_blank: true %>
创建你的掠夺者。
# user.rb
enum role: [:Admin, :Analyst]
ransacker :role, formatter: proc {|v| roles[v]} do |parent|
parent.table[:role]
end
然后在您的 index.html.erb
中添加该字段<%= f.select :role_eq, User.roles.keys , {:include_blank => 'All Roles'}, { :class => 'form-control' } %>
<%= f.select :schedules_county_eq, options_for_select(Schedule.counties), include_blank: 'All' %>
Rails7、搜查2.5.0。小写字符串。