2017-03-28 23 views
0

私は奇妙なエラーが発生しており、誰かが正しい方向に向けることを期待していました。私は、ActiveRecord::Enumを使用して以下のようにしていますように、この属性のための私の列挙型を定義している私のモデルインサイドActiveRecord :: Enum - PG :: InvalidTextRepresentation:エラー:整数の入力構文が無効です。

t.integer "department", default: 0 

:私は組織と呼ばれるモデル、およびdepartmentと呼ばれる属性は、以下のスキーマからの抜粋を参照してい

enum department: [:conferences, :design_teams, :services, :clubs, :events, :communications] 

しかし、ときに私は照会、JobPosting.joins(job: :organization).where(organizations: { department: 'conferences' })私は読み込みエラーを取得する:

PG::InvalidTextRepresentation: ERROR: invalid input syntax for integer: "conferences"

FYI:組織has_manyジョブ、およびジョブhas_many JobPostings。

私がOrganization.where(department: 'conferences')を照会すると、それは動作します。

ご協力いただければ幸いです。

答えて

2

これはror5で動作します。

JobPosting.joins(job: :organization).where(organizations: 
{ department: Organization.departments['conferences'] }) 

私はenumはror3でavailableた場合でも、わかりません。

0

その他の方法は、テキストベースの列挙型を設定することです。私の意見では、enumのための最良の方法です:

部門欄のタイプが変更されると動作します。

Organization.where(department: 'conferences') 

はあまりにも

に動作します
関連する問題