簡體   English   中英

Rails 忽略 model 中的編碼器

[英]Rails ignore coder in model

我需要運行 rake 任務來遷移我的 model 中的數據

class Translation < ApplicationRecord
  store :body, accessors: [:object_body], coder: YAML
  belongs_to :team
end

並且需要以文本形式訪問body 我不想刪除編碼器部分,因為很多邏輯都依賴於它。 我可以在不解碼為 ruby object 的情況下訪問body嗎?

read_attribute_before_type_cast應該有效。 它將在類型轉換或反序列化之前返回值。

raw_body = obj.read_attribute_before_type_cast(:body)

只需在 model 上添加一個新方法即可。

class Translation < ApplicationRecord
  store :body, accessors: [:object_body], coder: YAML
  belongs_to :team

  def raw_body
    read_attribute_before_type_cast('body')
  end
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM