1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ActiveHashにてcurrent_scopeを含むエラーが出た場合に考えること

Posted at

はじめに

@rinrin_abc1818 と申します。
今回は自分用に記録として残したいと思い投稿させていただきました。

筆者はプログラミング経験半年です。
至らない点があるかと思いますので、その際はご指摘いただけると幸いです。

概要

現在Ruby on Railsを用いて投稿型のアプリケーション作成中です。
Deviseを使用してのユーザー管理機能実装時にActiveHashを加えて実装しようと考えていました。

そこで今回出現したエラーがこちらです。
68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f333436323331322f34306130373631652d333130652d633731362d363964342d3938343036646562323137342e706e67.png

該当のソースコード

models/occupation.rb
class Occupation < ActiveHash::Base
  self.data = [
    { id: 1, name: '---' },
    { id: 2, name: '理学療法士' },
    { id: 3, name: '作業療法士' },
    { id: 4, name: '言語聴覚士' },
    { id: 4, name: 'その他' },
  ]

  include ActiveHash::Associations
  belongs_to :user
end

対応

NoMethodErrorということでスペルミスかなと思いましたが、、、
「そもそもCurrent_scopeなんてメソッドは使っていない!」
ということで、とりあえずGoogle検索を実施しました。

同様のエラーがちらほら確認はできましたが、自分と同じエラー内容の人はいませんでした。。。
ですが、よくよく考えてみると、皆さん解決方法はActiveHashのファイル関連の修正なんですよね。

結果

    { id: 4, name: '言語聴覚士' },
    { id: 4, name: 'その他' },

このid 4が二つになっていたことが原因でした。
確認不足ですね。
寝て起きて、再確認すると見つけることができました。

まとめ

最終的に今回何が言いたいかということなのですが、
Current_scopeを含むエラーが出た場合はActiveHash関連の記述にエラーがある場合が多いということでした。また落ち着いてよく見るとその後ろにクラス名まで書いてあるので、そこを中心に探すのが良いのかなと思いました。
とりあえずスペルミスは気をつけます。。。

1
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?