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

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

10
Rails:最後にnullで注文する
私のRailsアプリで、他の人がどのように解決するか知りたいという問題に何度か遭遇しました。 値がオプションである特定のレコードがあるため、一部のレコードには値があり、一部のレコードはその列に対してnullです。 一部のデータベースでその列で並べ替えると、nullが最初に並べ替えられ、一部のデータベースではnullが最後に並べ替えられます。 たとえば、コレクションに属している場合と属していない場合がある写真があります。つまり、どこcollection_id=nilにあるか、どこにあるかcollection_id=1などの写真があります。 私が行う場合はPhoto.order('collection_id desc)SQLiteの上で、私はヌルが最後に取得するが、PostgreSQLの私の最初のヌルを取得します。 これを処理し、任意のデータベースで一貫したパフォーマンスを実現するための、優れた標準のRailsの方法はありますか?

6
rake specを実行せずにRailsrspecテスト用のテストデータベースを準備するにはどうすればよいですか?
重要なトラブルシューティングの後、rake specrspecを直接実行する前に(たとえば、スペックのサブセットで)、一度実行する必要があることがわかりました(control-cで中止できます)。Rails3.0.7とRSpec2.5.0を実行しています。 明らかに、rakeはいくつかの重要なデータベースセットアップタスク/コードを実行しています(ルートレベルのレールRakefileやその他の場所にカスタムコードがあります)。 実行せずにraketestデータベースのセットアップタスク/コードを実行するにはどうすればよいrake specですか? ファイルのサブセットでrspecを実行できることに加えて、specjourを使用してスペックを複数のコアに分散しています(LAN全体にスペックを分散することはまだ成功していません)が、rspecを実行する場合と同じ動作が見られます直接:rake specspecjourが機能する前に、各テストデータベースで実行する必要があります(2つのコアを想定): rake spec TEST_ENV_NUMBER=1 control-c (after tests start) rake spec TEST_ENV_NUMBER=2 control-c (after tests start) specjour 注:私のconfig / database.ymlには、テスト用にこのエントリがあります(並列テストgemで一般的です)。 test: adapter: postgresql encoding: unicode database: test<%=ENV['TEST_ENV_NUMBER']%> username: user password: parallel_testsはデータベースを正しく設定しているようですが、仕様の多くは失敗しています。 また、実行するspecjour prepareと、Postgresがデータベースを見つけることができないというエラーをログに記録しますが、データベースは作成されます(テーブルなし)。その後の実行では、エラーはログに記録されませんが、テーブルも作成されません。私の問題全体が単なるバグである可能性があるprepareので、githubで報告しました。 Specjour::Configuration.prepare.specjour / hooks.rbに設定することで、各specjourテストデータベースで任意のコードを実行できると思います。そのため、実行する必要のあるrakeタスクやその他のコードがあれば、そこで機能する可能性があります。

7
特定のキーを除くすべてをハッシュ削除
特定のキーを除くすべてのキーをハッシュから削除したいと思います。 例えば: { "firstName": "John", "lastName": "Smith", "age": 25, "address": { "streetAddress": "21 2nd Street", "city": "New York", "state": "NY", "postalCode": "10021" }, "phoneNumber": [ { "type": "home", "number": "212 555-1234" }, { "type": "fax", "number": "646 555-4567" } ] } 「firstName」や「address」以外のすべてを削除したい ありがとう

7
コードでRails開発環境のENV変数を設定することはできますか?
ENV変数をbashで設定できることを知っています。 export admin_password = "secret" しかし、私のRailsソースコードのどこかにそれを行う方法はありますか?私の最初の試みはこのようなものでしたenvironment/development.rb ENV['admin_password'] = "secret" しかし、それはうまくいきませんでした。これを行う方法はありますか?

10
rails-「警告:CSRFトークンの信頼性を検証できません」jsonデバイスリクエスト
JSONリクエストで渡すCSRFトークンを取得するにはどうすればよいですか? セキュリティ上の理由から、Railsはすべてのリクエストタイプ(JSON / XMLを含む)でCSRFトークンをチェックしていることを知っています。 コントローラをskip_before_filter :verify_authenticity_token挿入することはできますが、CRSF保護が失われます(お勧めできません:-))。 この同様の(まだ受け入れられていない)回答は、 でトークンを取得します <%= form_authenticity_token %> 問題はどのようにですか?トークンを取得するためにページのいずれかを最初に呼び出してから、Deviseで実際の認証を行う必要がありますか?または、サーバーから取得して一貫して使用できる1回限りの情報ですか(サーバー自体で手動で変更するまで)?

8
Deviseログインをルートページに設定する
ルートに次のコードを使用しています。 devise_for :user, :as => '', :path_names => { :sign_in => "", :sign_out => "logout", :sign_up => "register" } しかし、ログアウトして移動すると/logout、次のエラーが発生します。 {:action => "new"、:controller => "devise / sessions"}に一致するルートはありません ルートパスを:sign_inアクションに設定するにはどうすればよいですか?

5
Rails — STIなしのタイプ列を使用しますか?
type単一テーブル継承(STI)を呼び出さずに呼び出された列を使用したい-をtype保持する通常の列になりたいだけですString。 Railsが単一テーブル継承を期待せず、例外をスローせずにこれを行うにはどうすればよいThe single-table inheritance mechanism failed to locate the subclass...This error is raised because the column 'type' is reserved for storing the class in case of inheritance.ですか? これを行う方法についてのアイデアはありますか?

4
最高のRubyon RailsWebSocketツール[クローズ]
現在のところ、この質問は私たちのQ&A形式には適していません。回答は事実、参考資料、または専門知識によって裏付けられることを期待していますが、この質問は、討論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてガイダンスを入手してください。 9年前に閉鎖。 Rails 3でプロジェクトを開始しましたが、通知を追加する必要があります(Facebookのように)。iPadなどのサポートデバイスにWebSocketを使用するのが最善の方法ですが、Railsに簡単に実装するための優れたツールが見つかりません。Pusherappを見つけましたが、価格が高すぎて、サードパーティの会社にデータを提供するのは賢明ではないと思います。だから必要なもの: オープンソース ある種のチャネルはサポートします Railsのヘルパー(およびRails 3の操作)

3
Railsのhas_many関係でデフォルトでスコープを使用する
次のクラスがあるとしましょう class SolarSystem < ActiveRecord::Base has_many :planets end class Planet < ActiveRecord::Base scope :life_supporting, where('distance_from_sun > ?', 5).order('diameter ASC') end Planetスコープlife_supportingとSolarSystem has_many :planets。にsolar_system関連付けられているすべてのを要求するとplanets、life_supportingスコープが自動的に適用されるように、has_many関係を定義したいと思います。基本的に、私は欲しいですsolar_system.planets == solar_system.planets.life_supporting。 要件 私はないではない変更するscope :life_supportingにPlanetします default_scope where('distance_from_sun > ?', 5).order('diameter ASC') また、追加する必要がないので重複を防ぎたい SolarSystem has_many :planets, :conditions => ['distance_from_sun > ?', 5], :order => 'diameter ASC' ゴール のようなものが欲しいのですが …

5
factory_botで配列/ハッシュを定義する方法は?
ネストされたハッシュを使用して、配列内のデータを返すDropboxのRESTサービスからのいくつかの戻り値をシミュレートするテストを作成しようとしています。 返される結果は内部にhasがある配列であるため、ファクトリのコーディング方法を理解するのに問題があります。ここに何が行きますか? Factory.define :dropbox_hash do ?? end Dropboxのデータは次のようになります。 ["/home", {"revision"=>48, "rev"=>"30054214dc", "thumb_exists"=>false, "bytes"=>0, "modified"=>"Thu, 29 Dec 2011 01:53:26 +0000", "path"=>"/Home", "is_dir"=>true, "icon"=>"folder_app", "root"=>"app_folder", "size"=>"0 bytes"}] そして、RSpecでこのようなファクトリコールが欲しいのですが: Factory.create(:dropbox_hash)

8
60秒以内に安定したFirefox接続を取得できません(127.0.0.1:7055)
rspecテストの実行時に次のエラーが発生する Railsで60秒(127.0.0.1:7055)で安定したFirefox接続を取得できません 最新のルビー(1.9.2)とFirefox(6.0)を使用 rspec-rails、capybara、その他いくつかのgemを使用していますが、問題はないようです。これらのテストは、別の環境(Linux)で正常に実行されます。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.