Giter Club home page Giter Club logo

Comments (7)

wxmn avatar wxmn commented on August 21, 2024 9

The following method ended up being the issue:

# active_storage/attached/many.rb

module ActiveStorage
  class Attached::Many < Attached

    def attach(*attachables)
      attachables.flatten.collect do |attachable|
        if record.new_record?
          attachments.build(record: record, blob: create_blob_from(attachable))
        else
          attachments.create!(record: record, blob: create_blob_from(attachable))
        end
      end
    end

  end
end

It seems to work if you just add an attachments.exists? query before attachments.create! to prevent a violates unique index error when it tries to create the same attachment twice.

It looks like this entire part of ActiveStorage was totally rewritten for Rails 6, so now I understand why there's no Rails 5.2 support :-)

Excited for ActionText's official launch in Rails 6! It's truly an awesome tool.

from actiontext.

wxmn avatar wxmn commented on August 21, 2024 1

Yes it does @javan

from actiontext.

javan avatar javan commented on August 21, 2024

The only Rails 5.2.1 specific change (relevant to this) is to simply remove the image transforms from _blob.html.erb: <%= image_tag blob.representation({}) %>

Does <%= image_tag blob %> work?

from actiontext.

javan avatar javan commented on August 21, 2024

Cool, you can probably use the older representation API for Rails 5.2.1 support. See dec130a.

from actiontext.

wxmn avatar wxmn commented on August 21, 2024

Thanks @javan! Our main issue isn't old representation API, though, it's the violates unique constraint issue. Any thoughts on that? Thanks!

from actiontext.

javan avatar javan commented on August 21, 2024

That seems like a general ActiveStorage issue… @georgeclaghorn?

from actiontext.

damienjbyrne avatar damienjbyrne commented on August 21, 2024

Thanks @wxmn, I was looking at the exact same situation, issue, and solution. Nice to have a second confirmation.

from actiontext.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.