在 Rails 个应用中设置关联

Setting associations in Rails app

我对 Rails 有点生疏,我正在尝试找到一种合适的方法来设置一系列 has_and_belongs_to_many 关联。我创建了一个方法,我打算将其设为私有,用于设置关联。

  def update

    def set_associations
        industriesParams = params[:business][:industry_ids].reject{ |c| c.empty? }
        @business.update(:industry_ids => industriesParams)
    end

        @business = Business.find(params[:id])
        @business.set_associations

  end

在这次尝试中,我得到了 "undefined method `set_associations'",但我不太明白。但我也在寻求一种更简洁的方式来从头开始设置关联。

提前致谢。

这应该可以完成工作:

def update
  @business = Business.find(params[:id])
  set_associations  
end

private

def set_associations
  industriesParams = params[:business][:industry_ids].reject{ |c| c.empty? }
  @business.update(:industry_ids => industriesParams)
end

但是为了让事情更简短,你甚至可以写成下面的内容:

def update
  @business = Business.find(params[:id])
  industriesParams = params[:business][:industry_ids].reject{ |c| c.empty? }
  @business.update(:industry_ids => industriesParams)
end