タグ付けされた質問 「ruby-on-rails-3」

Ruby on Railsは、Rubyで記述されたオープンソースのWeb開発フレームワークです。Ruby on Railsは、構成よりも慣例の原則に従っているため、生産性を維持するために再発明する必要がありません。このタグはRails 3固有の質問にのみ使用し、それらの質問にもタグ付けします[ruby-on-rails]。

4
熱心な負荷ポリモーフィック
Rails 3.2を使用して、このコードの何が問題になっていますか? @reviews = @user.reviews.includes(:user, :reviewable) .where('reviewable_type = ? AND reviewable.shop_type = ?', 'Shop', 'cafe') このエラーが発生します: 多態的な関連付けを熱心に読み込めません:reviewable reviewable.shop_type = ?条件を削除すると動作します。 reviewable_typeand reviewable.shop_type(これは実際にはshop.shop_type)に基づいてフィルタリングするにはどうすればよいですか?

7
rails3プロジェクトからgemをアンインストールする最良の方法は何ですか?
Gemfileからbundlerを使用してすべてのgemをインストールしました。(間違い)Gemfileからgemを削除して「バンドルインストール」を実行すると、削除されたgemはアンインストールされると考えました。バンドラーのヘルプファイルを確認しましたが、知る限り、gemをアンインストールする方法がありません。 すべてに対してgem uninstall xを使用するだけですか?これはバンドラーを混乱させるでしょうか?

5
初期化されていない定数Rake :: DSLの問題をHerokuで修正する方法は?
私がHerokuで発生していることを除いて、 これらの 質問と同様のエラーが発生します。 2011-05-30T09:03:29+00:00 heroku[worker.1]: Starting process with command: `rake jobs:work` 2011-05-30T09:03:30+00:00 app[worker.1]: (in /app) 2011-05-30T09:03:30+00:00 heroku[worker.1]: State changed from starting to up 2011-05-30T09:03:33+00:00 app[worker.1]: rake aborted! 2011-05-30T09:03:33+00:00 app[worker.1]: uninitialized constant Rake::DSL 2011-05-30T09:03:33+00:00 app[worker.1]: /app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.0/lib/rake/tasklib.rb:8:in `<class:TaskLib>' これらの質問の答えはgem 'rake', '0.8.7'、0.9バージョンが問題を引き起こすため、特定することであるようです。 gem 'rake', '0.8.7'gemfile に追加してHerokuにプッシュしようとすると、次のエラーが発生します。 Unresolved dependencies detected; Installing... You have modified …

7
Rails 3でActiveRecordを削除する
Rails 3ベータ版がリリースされたので、Rails 3ベータ版で作業を開始したばかりのアプリを書き直してみて、感じをつかみ、ちょっとしたスタートを切りたいと思いました。アプリはすべてのモデルにMongoDBとMongoMapperを使用するため、ActiveRecordは必要ありません。以前のバージョンでは、次の方法でactiverecordをアンロードしています。 config.frameworks -= [ :active_record ] # inside environment.rb 最新バージョンではこれは機能しません-エラーをスローするだけです: /Library/Ruby/Gems/1.8/gems/railties-3.0.0.beta/lib/rails/configuration.rb:126:in `frameworks': config.frameworks in no longer supported. See the generated config/boot.rb for steps on how to limit the frameworks that will be loaded (RuntimeError) from *snip* もちろん、提案されたとおりにboot.rbを見てきましたが、私の知る限り、ARをアンロードする方法についての手がかりはありません。これを行う必要があるのは、不要なものをロードするのが愚かであるだけでなく、コントローラーのジェネレーターを実行しようとしても、DB接続を確立できないことについて不満があるためです。これは、MonoDBの接続の詳細にdatabase.yml database.ymlを使用するためにこの要点を使用するために、MongoDBの接続の詳細にワイプして置き換えたためです。とにかくコントローラーを生成するためだけにDB接続を開始できる必要がある理由がわかりません... 誰かがこれを行う正しいRails 3の方法を知っていますか?


5
文字列から英数字以外の文字を削除してスペースを保持するにはどうすればよいですか?
英数字以外のすべての文字を削除し、スペースは保持する正規表現を作成したいと考えています。これは、dbに到達する前に検索入力をクリーンアップするためです。ここに私がこれまで持っているものがあります: @search_query = @search_query.gsub(/[^0-9a-z]/i, '') ここでの問題は、すべてのスペースが削除されることです。スペースを保持する方法に関するソリューション?

10
関連付けのカウントがゼロより大きいすべてのレコードを検索します
簡単だと思ったことをしようとしていますが、簡単ではないようです。 多くの空席があるプロジェクトモデルがあります。 class Project < ActiveRecord::Base has_many :vacancies, :dependent => :destroy end 少なくとも1つの空席があるすべてのプロジェクトを取得したいと考えています。私はこのようなものを試しました: Project.joins(:vacancies).where('count(vacancies) > 0') しかしそれは言う SQLite3::SQLException: no such column: vacancies: SELECT "projects".* FROM "projects" INNER JOIN "vacancies" ON "vacancies"."project_id" = "projects"."id" WHERE ("projects"."deleted_at" IS NULL) AND (count(vacancies) > 0)。

9
カピバラあいまいさの解決
カピバラのあいまいさを解決するにはどうすればよいですか?何らかの理由で、ページ内に同じ値のリンクが必要ですが、エラーが発生したため、テストを作成できません Failure/Error: click_link("#tag1") Capybara::Ambiguous: Ambiguous match, found 2 elements matching link "#tag1" これが避けられないのは、デザインのせいです。右側にツイート/タグがあり、ページの左側にタグがあるTwitterページを再作成しようとしています。したがって、同じリンクページが同じページに表示されることは避けられません。

2
Ruby on Railsの複数の列のインデックス
ユーザーが読んだ記事を追跡する機能を実装しています。 create_table "article", :force => true do |t| t.string "title" t.text "content" end これがこれまでの私の移行です: create_table :user_views do |t| t.integer :user_id t.integer :article_id end user_viewsテーブルは、常に1つだけではなく、両方の列を検索するために照会されます。私の質問は私のインデックスがどのように見えるべきかです。これらのテーブルにいくつかのオプションがある場合、これらのテーブルの順序に違いはありますか?私のターゲットDBはPostgresです。 add_index(:user_views, [:article_id, :user_id]) ありがとう。 更新: 両方の列に同じ値を含む行は1つしか存在できないため(user_idがarticle_idを読み取ったかどうかを知るため)、: uniqueオプションを検討する必要がありますか?私が誤解していないのであれば、それは自分でチェックする必要がなく、ユーザーが記事にアクセスするたびに挿入するだけです。

6
rspec-2を取得して、テストの失敗に関連する完全なトレースを取得するにはどうすればよいですか?
今私がテストスイートを実行rake specするとエラーが発生します: 1)SegmentsController GET 'index'は機能するはずです 失敗/エラー:「インデックス」を取得 未定義のメソッド「ロケール」# #./spec/controllers/segments_controller_spec.rb:14: 「ブロック(3レベル)内」 エラーがあるのでこれは正常です:) 問題は、トレースがあまり役に立たないことです。segments_controller_spec.rb14行目で故障したことは知っていますが、これは私がテストを呼び出す場所です: ### segments_controller_spec.rb:14 get 'index' 私は、specフォルダー内の部分ではなく、実際の改行と完全なトレースを使用したいと思います。 で実行しても効果--traceはありません。

12
Net :: SMTPAuthenticationError(ステージング環境で)Railsアプリからメールを送信するとき
Railsアプリケーションからメールを送信しています。開発環境ではうまく機能しますが、ステージングでは失敗します。次のエラーが発生します。 Net::SMTPAuthenticationError (534-5.7.14 <https://accounts.google.com/ContinueSignIn?plt=AKgnsbtdF0yjrQccTO2D_6) ステージング用のドメイン名がないので注意してください。 これがstaging.rbの私の設定です config.action_mailer.delivery_method = :smtp config.action_mailer.default_url_options = { :host => "my.ip.addr.here:80" } config.action_mailer.smtp_settings = { :address => "smtp.gmail.com", :port => 587, :domain => 'my.ip.addr.here:80' :user_name => "my_email_name@gmail.com", :password => "my_email_password", :authentication => 'login' } 助けてください。 編集。 :tls => trueオプションを追加した後 OpenSSL::SSL::SSLError (Unrecognized SSL message, plaintext connection?) 次に、ポートを25に変更し、これを取得します(30秒の遅延あり)。 …

6
Rails 3でUTCを現地時間に変換する
Rails 3でUTC TimeまたはTimeWithZone現地時間に変換できません。 セイはmomentいくつかあるTimeUTC(例えば、変数moment = Time.now.utc)。momentDSTを処理して(EST / EDTを使用して)、タイムゾーンに変換するにはどうすればよいですか? より正確には、時刻が今朝の午前9時EDTに対応している場合は「月曜日3月14日9時」、最後の月曜日の午前9時(米国東部標準時)の場合は「月曜日3月7日9時」を印刷します。 うまくいけば、別の方法がありますか? 編集:「EDT」は認識されるタイムゾーンである必要があると最初に考えましたが、「EDT」は実際のタイムゾーンではなく、タイムゾーンの状態に似ています。たとえば、要求しても意味がありませんTime.utc(2011,1,1).in_time_zone("EDT")。「EST」は実際のタイムゾーンであり、夏時間を使用せず、(UTC-5)年間であるいくつかの場所で使用されるため、少し混乱します。

8
レコードがない場合にnilを指定してfind()
私のようなものを使用するときの私の現在のレールプログラムで user = User.find(10) ID = 10のユーザーがいない場合、次のような例外があります。 ActiveRecord::RecordNotFound: Couldn't find User with ID=10 例外を発生させる代わりにnilを取得できますか? unless user = Challenge.find(10) puts "some error msg" end レコードがないときにnilを取得したいだけで、begin / rescueを使用したくない ありがとう


14
Twitterブートストラップレスポンシブを使用してナビゲーションバーの折りたたみしきい値を変更する方法
私はRails 3.1.2プロジェクトでTwitter Bootstrap 2.0.1を使用しており、bootstrap-sassで実装されています。とファイル、bootstrap.cssおよびJavaScriptの両方をロードしていbootstrap-responsive.cssますbootstrap-collapse.js。 例に似たナビゲーションバーを備えた流動的なレイアウトがあります。これは、ここにあるナビゲーションバーの「レスポンシブバリエーション」の手順に従います。それは正常に動作します。ページが約940pxより狭い場合、ナビゲーションバーは折りたたまれ、「ボタン」が表示され、クリックして展開できます。 ただし、私のナビゲーションバーは、幅が約550pxまで見栄えが良く、画面が非常に狭い場合を除いて、縮小する必要はありません。 画面の幅が550px未満の場合にのみ、ナビゲーションバーを折りたたむようにBootstrapに指示するにはどうすればよいですか? この時点では、要素を並べて表示する代わりに要素を積み重ねるなど、他の応答動作を変更したくないことに注意してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.