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

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

2
GitHubから宝石の特定の「コミット」を取得するにはどうすればよいですか?
私はrails_adminを使用していますが、(非常に)アクティブな開発中であるため、バグが時々発生します。 私が知る限り、githubのgemには、gemのバージョンがないため:version、Gemfileのgem宣言にキーを使用できません。 特定のコミット(私にとってはうまく機能していることがわかっている)をGemfileに「関連付ける」ことができる方法はありますか? 私は現在私のGemfileにあります: gem 'rails_admin', :git => 'git://github.com/sferik/rails_admin.git' 次のようなことができるようにしたいと思います(例 "commit_id"): gem 'rails_admin', :git => 'git://github.com/sferik/rails_admin.git', :commit_id => "4e7d53e3c5c4c3c5c43c3" これはgithubで可能ですか?

14
Rubyのブロックのdo..endと中括弧
Rubyで複数行ブロックを定義するためにdo..endを使用せず、代わりに中括弧を使用するように積極的に説得しようとしている同僚がいます。 私は固い中括弧を短いワンライナーにのみ使用し、他のすべてに使用することに固執しています。しかし、私は何らかの解決策を得るために、より大きなコミュニティに手を差し伸べると思いました。 それはどちらですか、そしてなぜですか?(いくつかのshouldaコードの例) context do setup { do_some_setup() } should "do somthing" do # some more code... end end または context { setup { do_some_setup() } should("do somthing") { # some more code... } } 個人的には、上記を見るだけで私の質問に答えますが、私はこれをより大きなコミュニティに開放したいと思いました。

5
Rails 3は属性が変更されたかどうかを確認します
Rails 3で更新する前に、属性のブロックが変更されたかどうかを確認する必要があります。 street1、street2、city、state、zipcode 私は次のようなものを使用できることを知っています if @user.street1 != params[:user][:street1] then do something.... end しかし、そのコードは本当に長くなります。よりクリーンな方法はありますか?

6
Railsの非表示フィールドの未定義のメソッド「マージ」エラー
私はレールでこのようなことをしたいです これが私がこれまでにレールに持っているものです: <%= form_for @order do |f| %> <%= f.hidden_field :service, "test" %> <%= f.submit %> <% end %> しかし、それから私はこのエラーを受け取ります: undefined method `merge' for "test":String レールのhidden_​​fieldに値を渡すにはどうすればよいですか?

5
新しいRailsアプリを作成するときに、test-unitではなくRSpecを使用するようにRailsに指示するにはどうすればよいですか?
私がしているtest-unitインストールし、rspec(一緒にインストールされ-core、-expectations、-mocksおよび-railsバージョン2.6.xの)。コマンドを実行すると、ではなく、テストスタブファイルの生成rails new fooに使用test-unitされますrspec。 代わりに、rspecを使用してテストを生成するようにRailsに指示できるオプションはありますか?

7
レールの先行ゼロ
私のアプリケーションにはフィールドhrとがありmin、両方とも整数です。以下のためhrのフィールドは、ユーザーが入力した場合、「1」は、私はそれをデータベースに保存する前にそれを「01」に自動的にパッドへのRailsをしたいと思います。またmin、ユーザーが「0」を入力した場合、フィールドには「00」と入力する必要があります。 これどうやってするの?

14
サインアップするためにDeviseルートを削除するにはどうすればよいですか?
Rails 3アプリでDeviseを使用していますが、この場合、ユーザーは既存のユーザーによって作成される必要があります。既存のユーザーは、自分が持つ権限を決定します。 このため、私は欲しい: ユーザーがサインアップするためのルートを削除するには。 するために、自分のプロファイルを編集するユーザーをまだ許可(変更のメールアドレスとパスワード)の後、彼らはサインアップしています これどうやってするの? 現在、私は前に次のものを配置することでこのルートを効果的に削除していますdevise_for :users: match 'users/sign_up' => redirect('/404.html') それはうまくいきますが、もっと良い方法があると思いますよね? 更新 ブノワ・ギャレットが言ったように、私の場合の最善の解決策は、登録ルートをまとめて作成するのをスキップして、実際に必要なものだけを作成することです。 そのために、最初にを実行しrake routes、次に出力を使用して必要なものを再作成しました。最終結果はこれでした: devise_for :users, :skip => [:registrations] as :user do get 'users/edit' => 'devise/registrations#edit', :as => 'edit_user_registration' put 'users' => 'devise/registrations#update', :as => 'user_registration' end ご了承ください: 私はまだ:registerable私のUserモデルにいます devise/registrations 電子メールとパスワードの更新を処理します 他のユーザー属性(権限など)の更新は、別のコントローラーによって処理されます 実際の答え: デフォルトのDeviseパスのルートを削除します。つまり: devise_for :users, path_names: …

16
PostgreSQLクライアントライブラリ(libpq)が見つかりません
Mac OS X 10.6にPostgreSQL for Railsをインストールしようとしています。最初にMacPortsインストールを試しましたが、うまくいきませんでしたので、ワンクリックDMGインストールを行いました。それはうまくいったようです。 PostgreSQL開発パッケージをインストールする必要があると思いますが、OS Xでそれを行う方法がわかりません。 これが私がやろうとしたときに得られるものですsudo gem install pg: $ sudo gem install pg Building native extensions. This could take a while... ERROR: Error installing pg: ERROR: Failed to build gem native extension. /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb checking for pg_config... yes Using config values from /Library/PostgreSQL/8.3/bin/pg_config checking for libpq-fe.h... …

2
誰かがcollection_selectを明確で簡単な言葉で私に説明できますか?
私はRails APIのドキュメントをcollection_select調べています。 見出しはこれです: collection_select(object, method, collection, value_method, text_method, options = {}, html_options = {}) そして、これは彼らが与える唯一のサンプルコードです: collection_select(:post, :author_id, Author.all, :id, :name_with_initial, :prompt => true) 誰かが、単純な関連付け(たとえば、Userhas_many Plans、およびa Planはに属しているUser)を使用して、構文で使用したいものとその理由を説明できますか? 編集1:また、form_helperフォーム内または通常のフォーム内でどのように機能するかを説明すると、すばらしいでしょう。これを、Web開発を理解しているがRailsに対して「比較的新しい」Web開発者に説明しているとします。どのように説明しますか?

5
カピバラを使用してクエリ文字列で現在のパスを取得する方法
ページのURLは、カピバラのメソッド/people?search=name を使用している間だけcurrent_path返さ/peopleれました。 current_path.should == people_path(:search => 'name') しかし、それは言って失敗します expected: "/people?search=name" got: "/people" どうすれば合格できますか?これを行う方法はありますか?


9
一致するルートはありません[GET] / assets
実稼働環境でテストしようとしているRailsアプリがあります。RAILS_ENV=production rake assets:precompileすべてのアセットを/ public / assetsに生成して実行しました。問題は、私がアプリを起動するRAILS_ENV=production rails s thinと次のようになることです: ActionController::RoutingError (No route matches [GET] "/assets/application-eff78fd67423795a7be3aa21512f0bd2.css"): このファイルはにも存在します/public/assets/application-eff78fd67423795a7be3aa21512f0bd2.css。 なぜ私はこれを手に入れているのRoutingErrorですか?

8
Rails:FATAL-ユーザーのピア認証が失敗しました(PG :: Error)
Ubuntu 11.10とRubyMineで開発を実行しています RubyMineが作成したdatabase.ymlの開発設定は次のとおりです development: adapter: postgresql encoding: unicode database: mydb_development pool: 5 username: myuser password: アプリを実行しようとすると、以下のエラーが表示されます。「プロジェクト」ユーザーをまだ作成していないようですが、ユーザーを作成してpostgresにデータベースを付与するにはどうすればよいですか。これが問題の場合、Ubuntuでこのタスクに使用する推奨ツールは何ですか?これが問題でない場合は、アドバイスをお願いします。 Exiting /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:1194:in `initialize': FATAL: Peer authentication failed for user "project" (PG::Error) from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:1194:in `new' from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:1194:in `connect' from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:329:in `initialize' from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:28:in `new' from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:28:in `postgresql_connection' from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:303:in `new_connection' from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:313:in `checkout_new_connection' from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:237:in …

4
NuoDBを使用してRuby On RailsでSQLコマンドを手動で実行する方法
NuoDBのプロシージャにアクセスできるように、SQLコマンドを手動で実行しようとしています。 Ruby on Railsを使用しており、次のコマンドを使用しています。 ActiveRecord::Base.connection.execute("SQL query") 「SQLクエリ」は、任意のSQLコマンドです。 たとえば、「フィードバック」というテーブルがあり、コマンドを実行すると次のようになります。 ActiveRecord::Base.connection.execute("SELECT `feedbacks`.* FROM `feedbacks`") これは、要求されたすべてのデータを私に送信するのではなく、「真の」応答のみを返します。 これはRailsコンソールの出力です: SQL (0.4ms) SELECT `feedbacks`.* FROM `feedbacks` => true これを使用してNuoDBのストアドプロシージャを呼び出したいのですが、プロシージャを呼び出すと、 "true"応答も返されます。 とにかく、SQLコマンドを実行して、「真の」応答を取得する代わりに、要求されたデータを取得できますか?

7
RailsルートのAPIバージョニング
StripeのようにAPIをバージョン管理しようとしています。以下に、最新のAPIバージョンが2であることを示します。 /api/users に301を返します /api/v2/users /api/v1/users バージョン1で200のユーザーインデックスを返します /api/v3/users に301を返します /api/v2/users /api/asdf/users に301を返します /api/v2/users つまり、指定されたバージョンが存在しない限り、基本的に、バージョンを指定しないものは最新のものにリンクし、リダイレクトされます。 これは私がこれまでに持っているものです: scope 'api', :format => :json do scope 'v:api_version', :api_version => /[12]/ do resources :users end match '/*path', :to => redirect { |params| "/api/v2/#{params[:path]}" } end

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