Ruby on rails 如何使用wicked gem更新活动存储附件

Ruby on rails 如何使用wicked gem更新活动存储附件,ruby-on-rails,rails-activestorage,wicked-gem,Ruby On Rails,Rails Activestorage,Wicked Gem,我在步骤表单向导中有更新或跳过属性的步骤。我可以更新所有其他步骤,没有任何问题,除了包含图像的步骤,我只能在上载新图像时更新该步骤。如果我尝试在没有新图像的情况下对其进行更新,则会导致参数丢失或值为空:business 向导控制器 steps :basic_info, :company_info, :logo,:category, :address def show case step when :basic_info when :company_info

我在步骤表单向导中有更新或跳过属性的步骤。我可以更新所有其他步骤,没有任何问题,除了包含图像的步骤,我只能在上载新图像时更新该步骤。如果我尝试在没有新图像的情况下对其进行更新,则会导致
参数丢失或值为空:business

向导控制器

steps :basic_info, :company_info, :logo,:category, :address

def show
    case step
      when :basic_info
      when :company_info
      when :logo 
      when :banner 
      when :category
      when :address
    end
    .......
    render_wizard 
   ......


def update

    case step 
      when :basic_info
        @business.update(business_params)
      when :company_info
        @business.update(business_params)
      when :logo
        @business.update(business_params)
      when :banner
        @business.update(business_params)
      ........ 
      render_wizard @business
     .....
     
private
  def set_business
    @business = Business..find(params[:business_id])
  end

def business_params
    params.require(:business).permit(
                  .......

                  :logo,

                  ......

 
./models/business.rb
类业务
徽标向导窗体

.......
......
除徽标步骤外,所有其他步骤均按预期工作。如果我跳过logo步骤,它可以正常工作。 您只需单击submit按钮并进入下一步,而无需上传新图像

class Business < ApplicationRecord
  .......
  has_one_attached :logo 
.......
<%= form_for @business, url: business_business_wizard_path, method: :put do |form|%> 
.......
              
 <%= form.label :logo%>
 <%= form.file_field :logo %>                  
 <%=form.submit %>
......