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

Ruby on Railsは、Rubyで記述されたオープンソースのフルスタックWebアプリケーションフレームワークです。これは、人気のあるMVCフレームワークモデルに準拠しており、アプリケーション開発への「構成上の規約」アプローチで知られています。

13
OS XへのPG Gemのインストール-ネイティブ拡張のビルドに失敗しました
他の多くの人がpg gemのインストールに問題を抱えているようです。他人のために提案された解決策のどれも私のために働いていません。 pg gemとpostgres.appをインストールしようとしました。pg gemはインストールされません。私が得る最初のエラーは: pg(0.17.0)のインストール中にエラーが発生し、Bundlerは続行できません。gem install pg -v '0.17.0'バンドルする前に成功することを確認してください。 私のgemインストールをpgの構成にポイントすることに関するインストールアドバイスは、次のエラーメッセージ(このフォーラムの他の多くの人が遭遇したもの)で失敗します。 Failed to build native extensions... Results logged to /Users/melanie/.rvm/gems/ruby-1.9.3-p448/gems/pg-0.17.0/ext/gem_make.out このログファイルを検索またはアクセスして、さらに手がかりを検索する方法がわかりません。 また、sudo apt-get installコマンドを使用しようとすると、エラーメッセージ(コマンドが見つかりません)が表示されます。私は過去6時間このフォーラムを精査し、pgが私のRailsプロジェクトで機能するように各アドバイスを試みました。 パスを変更する方法、具体的にはどのような変更が必要かについてのアドバイスが見つかりません。私which pg_configはファイルソースを返します。私はその設定を使用してpgをインストールするコマンドでそれを使用しました。それは失敗します。 これに悩んでいる人はたくさんいます。多くの回答が自作を示唆しています。他の問題が発生したため、削除する必要がありました。

15
リンクするホストがありません!:hostパラメータを指定するか、default_url_options [:host]を設定してください
私は今、約90分間グーグルしてきましたが、まだこれに対する答えはありません。どこに設定しdefault_url_optionsますか?config.action_mailer.default_url_optionsこれと同じバグを別の場所で解決するように設定しましたが、RSpec仕様内でURLヘルパーを使用しようとすると、このエラーが発生します。default_url_optionsが設定されることを期待している場所がわかりません。 Failure/Error: listing_url(listing).should match(/\/\d+-\w+$/) RuntimeError: Missing host to link to! Please provide :host parameter or set default_url_options[:host] # ./spec/routing/listing_routing_spec.rb:9:in `block (3 levels) in <top (required)>' このコードはemails / ActionMailerとは関係がなく、たまたまパスではなくURLが必要なだけです。 何か案は?


14
ActiveRecord ORクエリ
Rails 3のActiveRecordでORクエリを行う方法を教えてください。私が見つけたすべての例には、ANDクエリしかありません。 編集:ORメソッドはRails 5以降で使用できます。ActiveRecord:: QueryMethodsを参照してください

2
Railsカラム型のドキュメントはありますか?
このページにある単純なタイプのリスト以上のものを探しています。 :primary_key、:string、:text、:integer、:float、:decimal、:datetime、:timestamp、:time、:date、:binary、:boolean しかし、これらのフィールドを実際に定義しているドキュメントはありますか? 具体的には: 違いは何だ:stringとは:text? 間:floatと:decimal? 何の際立った特徴があり:time、:timestampと:datetime? これらのタイプのニュアンスはどこかに文書化されていますか? 編集:DBプラットフォーム実装のポイントは、私が尋ねようとしている質問とは無関係です。 たとえば、:datetimeRailsのドキュメントで意図された意味が定義されていない場合、対応する列タイプを選択するときに、db-adapter-writersは何を行うのでしょうか。

14
パラメータがレールに存在するかどうかをテストする方法
Ruby on RailsでIFステートメントを使用して、リクエストパラメータが設定されているかどうかをテストしています。両方のパラメーターが設定されているかどうかに関係なく、ifブロックがトリガーされる次の最初の部分。params [:one]とparams [:two]の両方が設定されている場合に、このパーツのみをトリガーするにはどうすればよいですか? if (defined? params[:one]) && (defined? params[:two]) ... do something ... elsif (defined? params[:one]) ... do something ... end

7
1つの配列に別の配列のすべての要素が含まれているかどうかを確認する方法
与えられた: a1 = [5, 1, 6, 14, 2, 8] 次のすべての要素が含まれているかどうかを確認したいと思います。 a2 = [2, 6, 15] この場合の結果はfalseです。 そのような配列の包含を識別するための組み込みのRuby / Railsメソッドはありますか? これを実装する1つの方法は次のとおりです。 a2.index{ |x| !a1.include?(x) }.nil? より良い、より読みやすい方法はありますか?

8
Railsで関連するレコードのないレコードを検索したい
単純な関連付けを検討してください... class Person has_many :friends end class Friend belongs_to :person end ARelやmeta_whereに友達がいないすべての人を取得する最もクリーンな方法は何ですか? そして、has_many:throughバージョンはどうですか? class Person has_many :contacts has_many :friends, :through => :contacts, :uniq => true end class Friend has_many :contacts has_many :people, :through => :contacts, :uniq => true end class Contact belongs_to :friend belongs_to :person end 私は本当にcounter_cacheを使いたくない-そして私が読んだことから私はそれがhas_many:throughで動作しない すべてのperson.friendsレコードをプルしてRubyでループ処理したくない-meta_search gemで使用できるクエリ/スコープが欲しい クエリのパフォーマンスコストは気にしません …

6
Heroku / devise-リンクするホストがありません!:hostパラメータを指定するか、default_url_options [:host]を設定してください
アプリをherokuにプッシュしようとしています。私はまだ開発中です。確認可能なモジュールでdeviseを使用します。 herokuコンソールでユーザーを追加しようとすると、次のエラーが発生しました。 Missing host to link to! Please provide :host parameter or set default_url_options[:host] テストおよび開発環境では、次の行があります。 environment / development.rbおよびenvironments / test.rb config.action_mailer.default_url_options = { :host => 'localhost:3000' } 実稼働環境には何も設定していません。 私はプッシュしようとしました config.action_mailer.default_url_options = { :host => 'mywebsitename.com' } config.action_mailer.default_url_options = { :host => 'heroku.mywebsitename.com' } しかし、それも機能しません。 ActionMailerに関連している可能性があることをWebで確認しましたが、何を設定する必要があるのか​​わかりません。あなたのアイデアに感謝します! 編集: こんにちは、 herokuをプッシュしたときにアプリがクラッシュしないようにするために、これをenv / test.rbとenv …

3
rails 3複数の属性の一意性の検証
Rails 3.0.0.beta4を使用しています 2つの属性の一意性の検証を追加します。つまり、'recorded_at'とのカップル'zipcode'が一意である場合、モデルは有効です。 ここにある属性は構文です validates :zipcode, :uniqueness => true ありがとう

7
Ruby on Railsでは、「日10月5日」のように、「th」という接尾辞で日付をどのようにフォーマットしますか?
日付を次の形式で表示したい:短い曜日、短い月、先行ゼロなしの日付、ただし「th」、「st」、「nd」、または「rd」のサフィックスを含む。 たとえば、この質問が尋ねられた日は、「10月2日(木)」と表示されます。 Ruby 1.8.7を使用していますが、Time.strftimeはこれを実行していないようです。存在する場合は、標準ライブラリを使用します。
177 ruby-on-rails  ruby  date 

3
user:referencesとuser_id:integerを使用してモデルを生成する
別のモデルに属するモデルを生成する方法に困惑しています。私の本では、この構文を使用してMicropostをユーザーに関連付けています。 rails generate model Micropost user_id:integer しかし、http://guides.rubyonrails.org/は次のようにするように言っています: rails generate model Micropost user:references これら2つによって生成される移行は異なります。また、前者の場合、レールはそれuser_idが外部キー参照であることをどのようにして知るのuserでしょうか?ありがとう!

16
レール内のSTIサブクラスのルートを処理するためのベストプラクティス
私のRailsのビューとコントローラが散らばっているredirect_to、link_toと、form_forメソッド呼び出し。ときどきlink_to、redirect_toリンクしているパスでは明示的ですが(例:)link_to 'New Person', new_person_path、多くの場合、パスは暗黙的です(例:)link_to 'Show', person。 モデルにいくつかの単一テーブル継承(STI)を追加し(たとえばEmployee < Person)、これらのすべてのメソッドがサブクラスのインスタンスで壊れます(たとえばEmployee)。railsを実行するとlink_to @person、でエラーが発生しundefined method employee_path' for #<#<Class:0x000001022bcd40>:0x0000010226d038>ます。Railsは、従業員であるオブジェクトのクラス名で定義されたルートを探しています。これらの従業員ルートは定義されておらず、従業員コントローラーもないため、アクションも定義されていません。 この質問は以前に尋ねられています: でStackOverflowの、答えはあなたの全体のコードベースでのlink_toなどのすべてのインスタンスを編集して、明示的にパスを述べることです 上のStackOverflow再び、二人が使用することをお勧めroutes.rb(親クラスにサブクラスのリソースをマッピングするためにmap.resources :employees, :controller => 'people')。同じSOの質問の一番上の答えは、コードベースのすべてのインスタンスオブジェクトを使用して型キャストすることを示唆しています.becomes StackOverflowのもう1つの方法は、トップの答えはDo Repeat Yourselfキャンプでの方法であり、すべてのサブクラスに重複する足場を作成することを提案しています。 ここでだ同じ質問がトップの答えはちょうど間違っているように思わSO、再び(Railsの魔法だけで動作します!) Webの他の場所で、F2Andyがコード内のすべてのパスで編集することを推奨しているこのブログ投稿を見つけました。 ブログ投稿「単一テーブルの継承と論理的現実の設計でのRESTfulルート」では、上記のSOの回答番号2のように、サブクラスのリソースをスーパークラスコントローラーにマップすることをお勧めします。 Alex ReisnerがRailsでシングルテーブル継承を投稿しています。routes.rbそこlink_toではredirect_to、とからのルーティングの破損のみをキャッチし、からのルーティングの破損はキャッチしないため、での子クラスのリソースの親クラスへのマッピングに反対していform_forます。したがって、代わりに親クラスにメソッドを追加して、サブクラスがクラスのうそをつくようにすることをお勧めします。良さそうですが、彼の方法は私にエラーを与えましたundefined local variable or method `child' for #。 最もエレガントなようで、ほとんどのコンセンサスを持っている答えは、だから、(それがすべてではないことを、エレガント、またその多くのコンセンサスが)、あなたにリソースを追加することですroutes.rb。ただし、これはで機能しませんform_for。明確にする必要があります!上記の選択肢を抽出するために、私のオプションは サブクラスのリソースをスーパークラスのコントローラーにマップしますroutes.rb(サブクラスでform_forを呼び出す必要がないことを願っています) クラスを互いに嘘をつくようにレール内部メソッドをオーバーライドする オブジェクトのアクションへのパスが暗黙的または明示的に呼び出されるコード内のすべてのインスタンスを編集して、パスを変更するか、オブジェクトを型キャストします。 これらすべての相反する答えがあるため、判決が必要です。良い答えはないようです。これはレールの設計の失敗ですか?もしそうなら、それは修正される可能性のあるバグですか?または、そうでない場合は、誰かが私にこれを真っ直ぐに設定して、各オプションの長所と短所を説明し(または、それがオプションではない理由を説明して)、正しい答えと理由を教えてください。それとも私がウェブで見つけていない正しい答えはありますか?


8
2つのActiveRecord :: Relationオブジェクトを組み合わせる
次の2つのオブジェクトがあるとします。 first_name_relation = User.where(:first_name => 'Tobias') # ActiveRecord::Relation last_name_relation = User.where(:last_name => 'Fünke') # ActiveRecord::Relation 2つの関係を組み合わせて、ActiveRecord::Relation両方の条件を含む1つのオブジェクトを生成することは可能ですか? 注:この動作を取得する場所をチェーンできることを知っていActiveRecord::Relationます。私が本当に興味を持っているのは、2つの個別のオブジェクトがある場合です。

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