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

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

5
すでに存在するRailsの自動割り当てID
次のように新しいレコードを作成します。 truck = Truck.create(:name=>name, :user_id=>2) 私のデータベースには現在トラック用に数千のエンティティがありますが、いくつかのIDを利用できるように、それらのいくつかにIDを割り当てました。つまり、railsはid = 150のアイテムを作成し、正常に機能しています。しかし、それからアイテムを作成してid = 151を割り当てようとしますが、そのidはすでに存在している可能性があるため、次のエラーが表示されます。 ActiveRecord::RecordNotUnique (PG::Error: ERROR: duplicate key value violates unique constraint "companies_pkey" DETAIL: Key (id)=(151) already exists. そして、次にアクションを実行するとき、ID 152が割り当てられます。これは、その値がまだ取得されていない場合に正常に機能します。IDを割り当てる前に、IDがすでに存在するかどうかをレールで確認するにはどうすればよいですか? ありがとう! 編集する トラックIDは複製されるものです。ユーザーは既に存在し、この場合は定数です。これは、私が対処しなければならないレガシー問題です。1つのオプションとして、今回はすべてのIDをレールが自動割り当てできるようにテーブルを再作成します。他にもいくつか問題があるため、これが最良の選択であると考え始めていますが、トラックは他の多くのテーブルの外部キーであるため、これを行うための移行は非常に複雑になります。自動割り当てされたIDを使用して既存のすべての関係を維持しながら、Trailにすでに保存されている同じデータを使用してRailsが新しいテーブルを作成する簡単な方法はありますか?

22
PG未定義のエラー関係ユーザーは存在しません
私は以前にこの質問を見ましたが、rspecについてのみです。まだ上級者なので、まだテストは作成していませんが、ある日すぐに作成します。:P アプリにサインアップ/ログインしようとすると、このエラーが発生します。私はdeviseを使用してユーザーを作成し、omn​​iauth2を使用してgoogleでサインインしました。 これはエラーです ActiveRecord::StatementInvalid at /users/auth/google_oauth2/callback PG::UndefinedTable: ERROR: relation "users" does not exist LINE 5: WHERE a.attrelid = '"users"'::regclass ^ : SELECT a.attname, format_type(a.atttypid, a.atttypmod), pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod FROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum WHERE a.attrelid = '"users"'::regclass AND …


7
インストールされているすべてのGemsを削除して最初からやり直す
私は最近、RubyとRuby on Railsの学習を開始し、入門資料をたくさん見てきました。最近、gemがインストールされない、またはインストールされるが、何らかの理由で使用できないというエラーが発生し続けることがわかりました。Rubyをインストールするだけで、すべてをもう一度削除することにしました。インストールをやり直します。あるトレーニングビデオでは、ほとんどのgemをRVMにインストールしていたので、それによって何かが変わるかどうかはわかりません。 つまり、私の質問は、「RVM、Rubygems、およびインストールされているすべてのGemsを削除して、Rubyだけでやり直すにはどうすればよいですか?」です。 編集:私はMac OS10.6を使用しています

7
Railsのコントローラーからレコードが存在するかどうかを確認します
私のアプリでは、ユーザーはビジネスを作成できます。彼らindexが私のBusinessesController中でアクションをトリガーしたとき、私はビジネスがに関連しているかどうかを確認したいと思いcurrent_user.idます: はいの場合:ビジネスを表示します。 いいえの場合:newアクションにリダイレクトします。 私はこれを使おうとしていました: if Business.where(:user_id => current_user.id) == nil # no business found end しかし、ビジネスが存在しない場合でも、常にtrueを返します... データベースにレコードが存在するかどうかをテストするにはどうすればよいですか?

2
エラーが発生する:herokuにデプロイするときは、少なくとも1つのpostgresql-client- <version>パッケージをインストールする必要があります
sdilshod@sdilshod-Lenovo-B590:~/webapp/saturn$ heroku run rake db:migrate Running `rake db:migrate` attached to terminal... up, run.6194 DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* …

2
Ruby on Rails 3を使用してモジュールを作成および使用する方法
Ruby on Rails 3を使用していますが、カスタムコードと共有コードをモジュールに移動したいと考えています。 モジュールコードの記述にはどの構文を使用する必要がありますか? アプリケーションのどのフォルダにモジュールファイルを配置する必要がありますか? そのモジュールを1つ以上のコントローラークラスに含めるにはどうすればよいですか? アプリケーションのどこかでカスタムモジュールを使用する必要がある場合、他にどのようなアクションがありますか? アプリケーションからモジュールのメソッドを呼び出すにはどうすればよいですか? 前もって感謝します。


2
単一のアプリケーションで複数のドメインを処理するためのRailsルーティング
ここや他の場所でいくつかの同様の質問があるにもかかわらず、私はこの問題の実行可能な解決策を見つけることができませんでした。Rails 3ではこの質問に回答されていない可能性が高いため、次のようにします。 現在、ユーザーがアプリケーションのインスタンスを含む独自のサブドメインを作成できるようにするアプリケーションがあります。Rails 2では、subdomain-fu gemを使用するのが最適でしたが、バージョン3では、Railscast(http://railscasts.com/episodes/221-subdomains-in-rails-3)のように、劇的にシンプルになっています。 これは良いことですが、ユーザーが自分のドメイン名を自分のアカウントに関連付けるためのオプションも提供したいと思います。したがって、http://userx.mydomain.comがあるかもしれませんが、http://userx.comも関連付けることを選択してもらいたいと思います。 Rails 2でこれを行うためのいくつかの参照を見つけましたが、それらの手法はもう機能していないようです(特にこれ:https://feefighters.com/blog/hosting-multiple-domains-from-a-single-rails -app /)。 ルートを使用して任意のドメインを受け入れ、それをコントローラーに渡して適切なコンテンツを表示する方法を誰かが推奨できますか? 更新:Leonidのタイムリーな応答とコードの見直しのおかげで、私は今ほとんどの答えを得ています。最終的には、(Railscastソリューションから)使用していた既存のサブドメインコードに追加してから、routes.rbにビットを追加する必要がありました。私はまだそこまで来ていませんが、これまでに持っているものを投稿したいと思います。 lib / subdomain.rb内: class Subdomain def self.matches?(request) request.subdomain.present? &amp;&amp; request.subdomain != "www" end end class Domain def self.matches?(request) request.domain.present? &amp;&amp; request.domain != "mydomain.com" end end 最初のクラスを模倣して2番目のクラスを追加しました。これは、動作することが知られています。着信ドメインがメインサイトをホストしているドメインではないことを保証する条件を追加するだけです。 このクラスはroutes.rbで使用されます: require 'subdomain' constraints(Domain) do match '/' =&gt; 'blogs#show' end constraints(Subdomain) do …


5
Railsのform_forを使用しますが、<form>要素にカスタムクラス、属性を設定しますか?
form_forどのような「余分な」属性を無視するようでdata-foo属性またはclass渡されたoptions2番目の引数では。 = form_for @user, {:url =&gt; 'foo', :class =&gt; 'x', 'data-bar' =&gt; 'baz' } do |f| # ... 出力は、クラスまたは属性の&lt;form&gt;ないタグです。xdata-bar 修正は何ですか? または、FormBuilder使用せずにインスタンスを取得するにはどうすればよいform_forですか?


8
readlineのエラーのため、「rails console」を実行できません
rails consoleこのエラーのために実行できません: localhost:TwitterForZombies wiz$ rails c /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/irb/completion.rb:9:in `require': dlopen(/Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin12.2.1/readline.bundle, 9): Library not loaded: /usr/local/opt/readline/lib/libreadline.6.2.dylib (LoadError) Referenced from: /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin12.2.1/readline.bundle Reason: image not found - /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin12.2.1/readline.bundle from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/irb/completion.rb:9:in `&lt;top (required)&gt;' from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/commands/console.rb:3:in `require' from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/commands/console.rb:3:in `&lt;top (required)&gt;' from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/commands.rb:38:in `require' from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/commands.rb:38:in `&lt;top (required)&gt;' from script/rails:6:in `require' from script/rails:6:in `&lt;main&gt;' 自作のreadlineをインストールしました。rvmの代わりにrbenvを使い続けたいです。 私の質問を読んでいただきありがとうございます。

3
ActiveRecordは選択した列のみを検索して返します
編集2 これに出くわしたら、両方の答えをチェックしてください。 かなり大きなカスタムデータセットがあり、jsonとしてエコーされて戻ってきます。一部は次のとおりです。 l=Location.find(row.id) tmp[row.id]=l しかし、私は次のようなことをしたいと思います: l=Location.find(row.id).select("name, website, city") tmp[row.id]=l しかし、これは機能していないようです。これを機能させるにはどうすればよいですか? どうも 別の方法で編集1、私が含めたい属性のみの配列を渡すことができる方法はありますか?

15
rails installpg-'libpq-fe.hヘッダーが見つかりません
$ sudo bundle install 結果 Fetching gem metadata from https://rubygems.org/........... Fetching gem metadata from https://rubygems.org/.. Using rake (0.9.2.2) Using i18n (0.6.1) Using multi_json (1.3.6) Using activesupport (3.2.8) Using builder (3.0.4) Using activemodel (3.2.8) Using erubis (2.7.0) Using journey (1.0.4) Using rack (1.4.1) Using rack-cache (1.2) Using rack-test (0.6.2) Using hike …

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