0

次の関連付けを持つユーザーモデルとメッセージモデルがあります

ユーザーモデルuser.rb

  has_many :sent_messages, dependent: :destroy,
  :class_name => 'Message',
  :primary_key=>'unique_id',
  :foreign_key => 'sender_id',
  :order => "messages.created_at DESC",
  :conditions => ["messages.sender_deleted = ?", false]

  has_many :received_messages, dependent: :destroy,
  :class_name => 'Message',
  :primary_key=>'unique_id',
  :foreign_key => 'recepient_id',
  :order => "messages.created_at DESC",
  :conditions => ["messages.recepient_deleted = ?", false]

メッセージ モデルmessage.rb

belongs_to :sender,
  :class_name => 'User',
  :primary_key => 'unique_id',
  :foreign_key => 'sender_id'
  belongs_to :recepient,
  :class_name => 'User',
  :primary_key => 'unique_id',
  :foreign_key => 'recepient_id'

rails_admin を使用した管理パネルで、ユーザーの詳細を編集しようとすると、次のエラーが表示されますundefined method unique_id for #<Message:0x00000005b5efa0>

Extracted source (around line #10):
7 selected = [config.abstract_model.get(related_id)]
8     else
 9      selected = form.object.send(field.name)
 10    end
 11    selected_ids = selected.map{|s| s.send(field.associated_primary_key)}
 12  
 13    current_action = params[:action].in?(['create', 'new']) ? 'create' : 'update'

誰でも助けてください、私は非常に感謝します。

ユーザーの管理には gem devise を使用し、管理者の管理には rails_admin を使用しています

4

1 に答える 1

0

参照しているデータベース テーブルには列がありませんunique_id。何かを移行するのを忘れた可能性があります。または、それは単なる構成ミスです。

于 2013-10-27T21:12:48.970 に答える