ruby-on-rails 复选框列表的activeadmin中的值为空

tyu7yeag  于 2023-04-13  发布在  Ruby
关注(0)|答案(1)|浏览(165)

我在activeadmin中使用枚举的复选框列表来选择多个值:

c.input :weekdays, as: :check_boxes, collection: BusinessHour.weekdays.keys

出于某种原因,有隐藏的附加值:

<input type="hidden" name="listing[listing_prices_attributes][0][weekdays][]" id="listing[listing_prices_attributes][0]_weekdays_none" value="" autocomplete="off">

因此,当提交表单时,它实际上也在数组中添加了空值“”,并产生了问题。
还尝试添加include_hidden:false,include_blank:false,但它也不改变空字符串值。
为什么会这样?

cld4siwp

cld4siwp1#

我遇到过类似的问题,我是这样解决的:在我的例子中,我有服务和订阅模型。我在服务编辑表单中嵌套了订阅的属性。我过滤了请求参数,然后调用super。

controller do
    def update
      check_locations = params[:service][:subscription_attributes][:check_locations].reject(&:empty?)
      params[:service][:subscription_attributes][:check_locations] = check_locations
      super
    end

    def create
      check_locations = params[:service][:subscription_attributes][:check_locations].reject(&:empty?)
      params[:service][:subscription_attributes][:check_locations] = check_locations
      super
    end
  end

相关问题