2012-03-05 7 views
1

Rails 3.1.1を使用すると、何らかの理由でmysqlクエリのバインドパラメータが存在しないような場合があります。このエラーは次のようになります。Rails mySQLのバインドパラメータが空です

A ActiveRecord::StatementInvalid occurred in events#show: 

Mysql::Error: : SELECT `events`.* FROM `events` WHERE `events`.`id` = ? LIMIT 1 
activerecord (3.1.1) lib/active_record/connection_adapters/mysql_adapter.rb:890:in `execute 

挿入や選択に一貫性がないため、問題が発生しています。誰か提案はありますか?

編集:より簡単な例で更新。

#events_controller.rb 
def show 
    @event = Event.find(params[:id]) 

    ... 
end 

#called with parameters: {"action"=>"show", "controller"=>"events", "id"=>"26"} 
+0

'view_ips'テーブル、' app/models/view_ip.rb'ファイルの内容、 'videos#viewed'アクションの生成に使用したマイグレーションを投稿できますか?それらは私達があなたを助けることを可能にするでしょう。 –

+2

モデルオブジェクトに検証を追加して、データベースに到達する前に問題をトラップすることができます。私の推測は、これは実際にはMySQL関連の問題ではないということでしょう。 – GSnyder

+0

これはいくつの場所で 'ViewIp'を作成するためのコードですか?コードを私たちに教えてください。コードにロギングを追加するので、どの実際のメソッド/エントリがnil値を引き起こすかを知ることができます。次に、それらがどこになくてどのようにゼロになるかを確認します。がんばろう。 – nathanvda

答えて

0

これは最新のレールにアップグレードした後に消えてしまったように見えます。

0

The probable reason

データベースドライバのインストールhereを確認してください。

+0

mysql gemをインストールしても、ソースからドライバをビルドしないのですか? – pschuegr

+0

http://stackoverflow.com/questions/8610426/rails-3-1-mysql2-error-mysql-server-has-gone-awayがお手伝いできるかどうかは不明です。 – asitmoharna

関連する問題