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

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

4
RSpec:メソッドが呼び出されたかどうかをテストする方法は?
RSpecテストを書くとき、テストの実行中にメソッドが確実に呼び出されるようにするために、次のようなコードをたくさん書いていることに気づきました(引数として、状態を実際に問い合わせることはできないとしましょう)メソッドが実行する操作はその効果を確認するのが容易ではないため、呼び出し後のオブジェクトの)。 describe "#foo" it "should call 'bar' with appropriate arguments" do called_bar = false subject.stub(:bar).with("an argument I want") { called_bar = true } subject.foo expect(called_bar).to be_true end end 私が知りたいのは、これより優れた構文はありますか?上記のコードを数行に減らすファンキーなRSpecの素晴らしさを逃していますか?should_receiveそれはこれを行うべきであるように聞こえますが、それをさらに読むと、それは正確にそれがすることではないように聞こえます。

1
「割り当てブランチの条件サイズが大きすぎる」とはどういう意味ですか?
私のRailsアプリではRubocop、問題のチェックに使用しています。今日、次のようなエラーが発生しましたAssignment Branch Condition size for show is too high。これが私のコードです: def show @category = Category.friendly.find(params[:id]) @categories = Category.all @search = @category.products.approved.order(updated_at: :desc).ransack(params[:q]) @products = @search.result.page(params[:page]).per(50) rate end これはどういう意味ですか、どうすれば修正できますか?

18
gemspecの日付形式の指定が無効です
Windowsで宝石を使用しようとすると、次のエラーが発生します。また、 このstackoverflowの投稿と更新されたrubygemsおよびrailsを参照しました。しかし、何も問題を解決できませんでした。 以下は完全なエラーです。 D:\> gem env [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specificationsの無効なgemspec /tilt-1.3.3.gemspec]:仕様の日付形式が無効です: "2011-08-25 00:00:00 .000000000Z」 [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specificationsの無効なgemspec /execjs-1.2.4.gemspec]:仕様の日付形式が無効です: "2011-08-03 00:00: 00.000000000Z」 [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specificationsの無効なgemspec /temple-0.3.3.gemspec]:仕様の日付形式が無効です: "2011-08-26 00:00: 00.000000000Z」 [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specificationsの無効なgemspec /guard-0.6.3.gemspec]:仕様に無効な日付形式: "2011-09-01 00:00:0 0.000000000Z」 [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specificationsの無効なgemspec /guard-livereload-0.3.1.gemspec]:仕様に無効な日付形式: "2011-09 -01 00:00:00.000000000Z」 [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specificationsの無効なgemspec /rack-cache-1.0.3.gemspec]:仕様の無効な日付形式: "2011-08-27 00 :00:00.000000000Z」 [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specificationsの無効なgemspec /tilt-1.3.3.gemspec]:仕様の日付形式が無効です: "2011-08-25 00:00:00 .000000000Z」 [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specificationsの無効なgemspec /execjs-1.2.4.gemspec]:仕様の日付形式が無効です: "2011-08-03 00:00: 00.000000000Z」 [D:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specificationsの無効なgemspec /temple-0.3.3.gemspec]:仕様の日付形式が無効です: "2011-08-26 00:00: …


13
Herokuプッシュが拒否され、Cedar対応のアプリが検出されませんでした
Rails 3.1.3でRailsアプリを作成しています: git init git remote add heroku <my heroku repo> git add . git commit -a -m "First commit" git push heroku master 取得: Counting objects: 102, done. Delta compression using up to 4 threads. Compressing objects: 100% (86/86), done. Writing objects: 100% (102/102), 315.47 KiB, done. Total 102 …

7
Rack :: Session :: Cookieの警告に秘密のオプションが提供されていませんか?
Fedora 17でRails 3.2.3、Ruby 1.9を実行rails sしています。を実行すると、この警告が表示されます。修正方法を教えてください。 セキュリティの警告:Rack :: Session :: Cookieにシークレットオプションが提供されていません。これはセキュリティ上の脅威になります。巧妙に細工されたCookieから悪用される可能性がある悪用を防ぐために、シークレットを提供することを強くお勧めします。これはラックの将来のバージョンではサポートされなくなり、将来のバージョンでは既存のユーザーCookieも無効になります。

4
Ruby on Rails:10未満の場合、数値の前にゼロを追加するにはどうすればよいですか?
私は次のように1桁の数字を2桁の数字に変換したいと考えています。 9 ==> 09 5 ==> 05 12 == 12 4 ==> 04 私はif-elseステートメントをたくさん置くことができると思います(数値が10未満の場合はgsubを実行します)が、それは恐ろしいコーディングです。Railsにnumber_with_precisionがあることは知っていますが、10進数にのみ適用されることがわかります。1桁を2桁に変換する方法に関するアイデアはありますか?


2
Rails:例外のスタックトレース全体をログに記録する
スタックトレースをログに記録する正しい方法を理解しようとしています。私はlogger.error $!、$ !. backtraceが進むべき道であると述べているこのリンクに出くわしましたが、それは私にとっては機能しませんlog_errorはそうします。ドキュメンテーションによると、railsが使用するルビーロガーは単一の引数しか受け入れないため、エラーメソッドに2番目の引数を渡すとどうなるかわかりません。 奇妙なことに(あるいはそうでないかもしれませんが)2番目の引数は、通訳の不満なしに受け入れられます。ただし、渡したものはすべて無視されます。 誰かが私が欠けているものを説明できますか?エラーの2番目の引数が何のためのものか、それを何が食べているのかについての洞察はありますか?

11
Rails 3で移行ファイルを削除する方法
移行ファイルを削除/削除したいのですが。どうすればいいですか?私はここに同様の質問があることを知っていますが、更新として、スクリプト/破棄を行うよりも良い方法はありますか? また、私がやるべきdb:resetか、db:drop私は削除する場合は/移行を削除しますか?


4
名前付きルート_pathと_url
Railsは名前付きルートを提供します。 ルートヘルパーは、パスまたはURLを使用して呼び出すことができます 例:ドキュメントから: # and provide these named routes root_url # => 'http://www.example.com/' root_path # => '/' 率直に言っ*_urlて、私はヘルパーをまだ使用したことがありません*_path。使用して物事を動作させることができました。 これら2つの異なるヘルパーの目的は何ですか? それらは互いにどのように違うのですか? 素晴らしいものをいつ使用するかを説明する実際の例。

10
Rails:Railsフォームの送信ボタンのテキストを変更する方法
_form.html.erbファイルをリストしたので、送信ボタンのテキストを変更します。これは、HTMLで行う方法は知っていますが、Rails 3で行う方法はわかりません。 %= form_for(@faq) do |f| %> <% if @faq.errors.any? %> <div id="error_explanation"> <h2><%= pluralize(@faq.errors.count, "error") %> prohibited this faq from being saved:</h2> <ul> <% @faq.errors.full_messages.each do |msg| %> <li><%= msg %></li> <% end %> </ul> </div> <% end %> <div class="field"> <%= f.label :question %><br /> <%= f.text_field :question …

7
パスワードを(プレーンテキストではなく)環境変数として構成ファイルに格納することは安全ですか?
私はいくつかのアプリケーションをrails、django(およびphpの少し)で扱っています。それらのいくつかで始めたのは、特定の構成ファイルにプレーンテキストではなくデータベースと他のパスワードを環境変数として保存することです(または、djangoアプリの場合は、settings.pyにあります。 これを私の協力者の1人と議論する際に、彼はこれは不適切な慣行であると示唆しました-おそらくこれは最初に思われるほど完全に安全ではないかもしれません。 それで、私は知りたいです-これは安全な習慣ですか?これらのファイルにパスワードをプレーンテキストとして保存する方が安全ですか(もちろん、これらのファイルを公開リポジトリなどに残さないようにしてください)。

8
Rails 4.1の選択から列挙型を保存する
Rails 4.1の列挙型を使用して、ワインの色を追跡しています。 Wine.rb class Wine < ActiveRecord::Base enum color: [:red, :white, :sparkling] end 私の見解では、ユーザーが特定の色のワインを選択できるように、selectを生成します f.input :color, :as => :select, :collection => Wine.colors これにより、次のHTMLが生成されます。 <select id="wine_color" name="wine[color]"> <option value=""></option> <option value="0">red</option> <option value="1">white</option> <option value="2">sparkling</option> </select> ただし、フォームを送信すると、「」という引数エラーが表示されます'1' is not a valid color。私はので、これは実現color等しくなければなりません。1"1" Railsに色を文字列ではなく整数として解釈させる方法はありますか?

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