Giter Club home page Giter Club logo

Comments (7)

stavro avatar stavro commented on July 25, 2024

Can you share your cast and cast_attachments code? Currently it is designed where you need to use cast_attachments for all file attributes only. All other attributes should still be sent through cast.

from arc_ecto.

MartinElvar avatar MartinElvar commented on July 25, 2024

This is my model.

defmodule Mobil.Company do
  use Mobil.Web, :model
  use Arc.Ecto.Model

  schema "companies" do
    field :name, :string
    field :logo, Mobil.Logo.Type

    timestamps
  end

  @required_fields ~w(name)
  @optional_fields ~w(logo)

  @doc """
  Creates a changeset based on the `model` and `params`.

  If no params are provided, an invalid changeset is returned
  with no validation performed.
  """
  def changeset(model, params \\ :empty) do
    model
    |> cast_attachments(params, @required_fields, @optional_fields)
  end
end

So i need to split it up?

from arc_ecto.

stavro avatar stavro commented on July 25, 2024

Yes, please split it up as such: https://github.com/stavro/arc_ecto/blob/master/test/model_test.exs#L21 and try again

from arc_ecto.

MartinElvar avatar MartinElvar commented on July 25, 2024

Worked wonders! Thank you @stavro

from arc_ecto.

stavro avatar stavro commented on July 25, 2024

I will do some digging to see if there is a less confusing way to handle this... You are not the first person to make this same hiccup

from arc_ecto.

MartinElvar avatar MartinElvar commented on July 25, 2024

@stavro I don't know if i think that it is confusing, rather i would say the readme could be clearer.

More specific. https://github.com/stavro/arc_ecto#add-your-attachment-to-your-ecto-model

Which could explain it more like..

  schema "companies" do
    field :name, :string
    field :logo, Mobil.Logo.Type

    timestamps
  end

  @required_fields ~w(name)
  @optional_fields ~w()

  @doc """
  Creates a changeset based on the `model` and `params`.

  If no params are provided, an invalid changeset is returned
  with no validation performed.
  """
  def changeset(model, params \\ :empty) do
    model
    |> cast(params, @required_fields, @optional_fields)
    |> cast_attachments(params, ~w(), ~w(logo))
  end

from arc_ecto.

stavro avatar stavro commented on July 25, 2024

Readme updated! Thanks.

from arc_ecto.

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.