我有我的ActiveAdin接口上的多個ressources,其中一人返回我一個錯誤,當我在索引視圖「/管理/ recommandations」以下消息去:NameError在管理:: Recommandations#指數
NameError in Admin::Recommandations#index
Showing /home/charles/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/bundler/gems/activeadmin-0a5a15b88bff/app/views/active_admin/resource/index.html.arb where line #2 raised:
uninitialized constant Recommandation::Writer
推薦功能很簡單:一個用戶可以通過提出建議對其他用戶進行評分。在我的推薦模式中,我有一個用戶(評分者)和一位作家(撰寫推薦者)。
Recommandation型號:
class Recommandation < ActiveRecord::Base
before_validation:check_models
belongs_to :user
validates :user_id, presence: true
validates_associated :user
# Il s'agit de l'utilisateur qui inscrit la recommandation
has_one :writer, :foreign_key => "writer_id"
validates :writer_id, presence: true
validates_associated :writer
validates :modele, presence: true
##
# @return L'origine liée
def writer
if self.writer_id != nil
User.find(self.writer_id)
end
end
我可以用「/管理/ recommandations/1」訪問我的每個Recommandation ressources的,有一個作家是一個用戶,所以我不明白問題出在哪裏。
看起來像你使用'recommandation :: Writer'而不是'recommandation.writer'?如果是這樣,請檢查類和實例方法之間的差異。 –
除非@NilsLandt正確,否則您可能需要指定類名:'has_one:writer,foreign_key:「writer_id」,class_name:':: Writer''。 '::'指示它在根名稱空間中查找類。 – max
我不在我的代碼中的任何地方使用'recommandation :: Writer'。插入'class_name:':: Writer''後,我得到了同樣的錯誤,但與'Writer'而不是'Recommandation :: Writer' –