と私はchat_id欄には限界8と私の移行を作成しました:数はActiveModelのための範囲外である::タイプ::整数リミット4
class CreateChat < ActiveRecord::Migration[5.0]
def change
create_table :bots do |t|
t.integer :user_chat_id, null: false, limit: 8, unique: true
...
t.timestamps
end
end
end
を移行が完全に作成され、私はそれにデータを挿入することができます。 しかし、私はない場合:リミット4.
と
class Chat < ApplicationRecord
self.primary_key = 'user_chat_id'
end
次のエラーが発生し、5187762395178250はActiveModelのための範囲外である::タイプ::整数私が研究し、ドキュメントに見えたが、私がやりましたそれについて何も見つかりません。あなたは、デフォルトではIDです主キーの作成を抑制する必要があるよう
エラーの原因について詳しく知ることができますか?あなたはそれが何をしてそのエラーを投げているのですか?関連するトレースも投稿できますか? – vee
@veeたとえば、私はacess:http:// localhost:3000/chat/5187762395178250と表示されます。このエラーは表示されますが、数値が小さい場合はエラーは発生しません。私はそれがActiveModel検証だと思います。 –
データベース内の主キーの作成を抑止する必要があるようです。デフォルトではidです。したがって、移行をロールバックし、次の行を含めるように移行ファイルを変更してください。 –