LoginSignup
0
0

More than 3 years have passed since last update.

サーバーに保存のないActiveHashデータどう保存させる?

Posted at

結論:モデルに書いた「Category.rb」というファイルがテーブルの代わりになります。

結論2:カラム名は以下示したものになります(カラムは2列です)

app/models/delivery_fee_payment.rb
class DeliveryFeePayment < ActiveHash::Base
  self.data = [
    { id: 1, delivery_fee_payment_id: '--' },
    { id: 2, delivery_fee_payment_id: '着払い(購入者負担)' },
    { id: 3, delivery_fee_payment_id: '送料込み(出品者負担)' }
  ]
    include ActiveHash::Associations
    has_many :items
  end

1,2,3と数字のある左横のidが1列目カラム名
’ーー’'着払い(購入者負担)''送料込み(出品者負担)'の左横delivery_fee_payment_idが2列目カラム名

設定方法:「インスタンス変数(もしくはブロック変数など)+ActiveHash設定モデルファイル名」

①@item.delivery_fee_payment
②item.delivery_fee_payment

以下の情報が取得できます。

>> item.delivery_fee_payment
=> #<DeliveryFeePayment:0x00007f9d9ab436a8 @attributes={:id=>2, :delivery_fee_payment_id=>"着払い(購入者負担)"}>

結果

設定方法:「インスタンス変数(もしくはブロック変数など)+ActiveHash設定モデルファイル名」+
「モデルのカラム名」

①@item.delivery_fee_payment.delivery_fee_payment_id
②item.delivery_fee_payment.delivery_fee_payment_id

=> #<DeliveryFeePayment:0x00007f9d9ab436a8 @attributes={:delivery_fee_payment_id=>"着払い(購入者負担)"

ここで私は取得できなかった問題点がありました

モデルのitem.rbのアソシエーションで以下のように組んでいました、

app/models/item.rb
  belongs_to :category, :status, :prefecture, :delivery_fee_payment, :delivery_prepare
app/models/item.rb
  belongs_to :category
  belongs_to :status
  belongs_to :prefecture
  belongs_to :delivery_fee_payment
  belongs_to :delivery_prepare

つなげることはできないんですね。

ここを直すと通りました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0