Saya punya model.

class Model_a < ApplicationRecord
end

Saya memiliki satu pengontrol, tempat saya ingin mengembalikan semua model dan menambahkan satu atribut khusus ke satu json, misalnya:

class A_Controller < ApplicationController
  def index
    @a_s = Model_a.all
    @a_s[0].custom_attribute = 777  # How I can do that???
    json_response(@a_s)
  end
end

Tetapi ketika saya melakukan itu, saya memiliki kesalahan:

NoMethodError (undefined method `custom_attribute=' for #<Model_a:0x00000234deda85f8>):
0
Developer Cobra Kai Miguel 21 Mei 2021, 15:10

2 jawaban

Jawaban Terbaik

Gunakan ActiveModel::Attributes API

class ModelA < ApplicationRecord
  attribute :custom_attribute, :integer
end
1
max 21 Mei 2021, 12:18

Sudahkah Anda memasukkan custom_attribute dalam database Anda?

Bisa menggunakan @a_s[0].update({custom_attribute: 77})

-1
Theo Dale 21 Mei 2021, 12:22