問題タブ [sqlite3-ruby]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
28 参照

ruby-on-rails - モデルへの値の割り当て

Railsでのコーディングは初めてです。あなたが初心者の質問かもしれないと思うもので私を助けてくれれば素晴らしいでしょう.Hereは私のコードです:

したがって、create メソッドでは、新しいプロジェクトが作成されるたびに、各学生の ID 番号が「;」で区切られた、student_str という文字列が格納されます。split 関数を使用してその文字列を配列に分割し、学生 ID の配列を取得します。puts c.emailputs "I'm here"を使用して、ループが正常に機能していることを確認します。端末で適切な出力が得られます。

ここでの問題は、

それは単に機能していないようです。この行が実行されると、私のモデルは更新されません。エラーは発生しません。これを修正するために私がしなければならないことがあるかもしれないことを教えてもらえますか?

ありがとう!

0 投票する
1 に答える
51 参照

ruby-on-rails - SQLはモデルテーブルのすべてのIDパスを削除します

(Setting.delete_all) ですべてのモデル テーブルを削除しました。しかし、新しい設定を作成すると、ID 12 から始まります。「削除された設定」の ID を削除するにはどうすればよいですか? 新しい設定を作成するときに設定/1から開始するように、すべてを削除したい。

助けて、ありがとう:)

0 投票する
2 に答える
1681 参照

ruby-on-rails - Rails サーバーが非推奨の警告を発行し、sqlite3 に接続しないのはなぜですか?

私はこのチュートリアルに従ってレールを開始しています: http://ruby.railstutorial.org/ruby-on-rails-tutorial-book#sec-the_first_application とてもいいようです。

冒頭で著者がgemとソフトウェアのバージョンの重要性について語っているので、私はまったく同じバージョンを使い続けるように最善を尽くしました。

チュートリアルに従ったところ、すべて問題なく実行されました。インストールは問題ありませんでした (彼の推奨ソースから: http://railsinstaller.org/en )。ruby 1.9 をダウンロードしました。

インストール後、rails new first_app を使用してアプリを作成し、Gemfile を次のように変更しました。

rails server コマンドを実行すると、次のエラーが表示されます。

しかし、localhost:3000 を開くと問題なく動作します。[アプリケーションの環境について] リンクをクリックするとエラーが発生する

ActiveRecord::ConnectionNotEstablished

Rails.root: D:/rails/first_app

確認したところ、database.yml は sqlite3 を使用しています。

アプリのフォルダー内で rake db:create を実行すると、

レーキが中止されました! データベース アダプタに 'postgresql' を指定しましたが、gem がロードされていません。gem 'pg'Gemfileに追加します。

おそらくこの3つの問題が関連していて、問題の原因はRailsサーバー起動時のエラーメッセージだと思います。2.0.0 ではなく、Ruby バージョン 1.9.3 である可能性がありますか?

ありがとう!

編集: このリンクで、whiny_nils の非推奨に関する問題の解決策を見つけました

アプリを作成して同じバージョンで起動すると、この問題が発生する理由はわかりませんが、問題ありません。No.1固定:)

Edit2:同じリンクで、構成ファイルにこの構成を作成し、値を設定することで、config.eager_load の問題を修正しました。

アクティブなレコードの問題が残ります。

編集 3: これは私の database.yml ファイルです

0 投票する
1 に答える
862 参照

ruby-on-rails - Rails のバンドルに SQLite3 Gem をインストールできません (gem としてインストールできますが、gemfile にはインストールできません)?

私は自分の Rails プロジェクトで SQLite gem を動作させるのに苦労しました。

よく調べた後、問題を解決するのに役立つチュートリアルを見つけました。少なくとも、問題は解決すると思いました。実際にgemをインストールさせてくれましたが、あまり役に立ちませんでした。これを gemfile に入れると、次bundle installの 3 つのいずれかが実行されます。

  1. gem を完全に無視します。
  2. gem ネイティブ拡張機能のビルド中にエラーが発生します。
  3. 時々何かランダムなことが起こるので、私が言及するのを忘れていた何か。

ここでの助けは大歓迎です。

私の Gemfile と Gemfile.lock: http://pastebin.com/h9g4S7YM (以下にも表示):

Gemfile:

Gemfile.lock:

バンドルのインストール後に (通常) 何が起こるか、および実際のエラーのスクリーンショット: http://imgur.com/G7tFl4W (以下にも表示)

ここに画像の説明を入力

0 投票する
1 に答える
25 参照

sqlite - 可変量の WHERE 式を使用してクエリを準備するにはどうすればよいですか?

次のようなクエリがあります。

残りの列フィルターが NULL である限り、WHERE セクションの任意の列でフィルター処理できるようにしたいので、クエリはこれほどばかげているように見えます。たとえば、残りのキーが に設定されている限り、同じ準備済みステートメントに{street_name: "foo", house_number: 12}またはを渡すことにより、上記のクエリを使用してアドレスを検索できます。{postal_code: 1234, house_number: 5}nil

このクエリの問題は、SQLite3 が明らかにデータベース インデックスの使用に失敗していることです。このクエリは、1 秒あたり 6 ~ 8 回しか実行されません。WHEREセクションを次のように置き換えてWHERE sa.house_number = ? AND sn.name = ?クエリを準備すると、1 秒あたり 110,000 回以上実行されます。

クエリを実行するたびにクエリを動的に作成することもできますが、検索ごとにそれだけ多くの作業を導入し、さらに準備済みステートメントを使用する機能を失うと、クエリの速度が 1 秒あたり約 4000 回の実行に低下します。

概要:

速度の最適化のためにインデックスを使用するように SQLite3 を納得させながら、上記のクエリの効果を達成する方法はありますか?