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

Rubyは、マルチプラットフォームのオープンソースの動的オブジェクト指向インタープリタ言語であり、1995年に松本幸宏(Matz)によって作成されました。[ruby]タグは、Ruby言語に関連する質問(構文やライブラリなど)を対象としています。Ruby on Railsの質問は[ruby-on-rails]でタグ付けする必要があります。

9
文字列内の複数のスペースと改行を削除する
次のような文字列があるとします。 Hello, my\n name is Michael. どうすればその新しい行を削除し、その後にそれらのスペースを文字列の1つの内側に取​​り除いてこれを取得できますか? Hello, my name is Michael.
104 ruby  string 

5
既存の文字列に追加する
既存の文字列に追加するには、これが私がやっていることです。 s = 'hello' s.gsub!(/$/, ' world'); 既存の文字列に追加するより良い方法はありますか? 誰かが次の回答を提案する前に、これは機能しないことを示します s = 'hello' s.object_id s = s + ' world' s.object_id 上記の場合、object_idは2つの場合で異なります。
104 ruby 

12
ルビーで「リバースレンジ」を反復できない理由はありますか?
私はRangeを使用して逆方向に反復しようとしましたeach: (4..0).each do |i| puts i end ==> 4..0 反復0..4は数値を書き込みます。他のレンジにr = 4..0、OKのようですr.first == 4、r.last == 0。 上記の構成が期待した結果を生成しないのは私には奇妙に思われます。その理由は何ですか?この動作が合理的である状況は何ですか?
104 ruby  iteration  range 

5
オブジェクトの配列をActiveRecord :: Relationに変換する
オブジェクトの配列がありますIndicator。それをと呼びましょう。def self.subjectsこの配列でインジケータークラスメソッド(さまざまなもの、スコープなど)を実行したいと思います。オブジェクトのグループでクラスメソッドを実行する唯一の方法は、それらをActiveRecord :: Relationにすることです。そのため、to_indicatorsメソッドをに追加することにしましたArray。 def to_indicators # TODO: Make this less terrible. Indicator.where id: self.pluck(:id) end 時々私はこれらのスコープのかなりの数をチェーンして、クラスメソッド内で結果をフィルタリングします。したがって、ActiveRecord :: Relationでメソッドを呼び出しても、そのオブジェクトにアクセスする方法がわかりません。私はそれを通してその内容にたどり着くことができるだけですall。しかしall、配列です。それで、その配列をActiveRecord :: Relationに変換する必要があります。たとえば、これはメソッドの1つに含まれています。 all.to_indicators.applicable_for_bank(id).each do |indicator| total += indicator.residual_risk_for(id) indicator_count += 1 if indicator.completed_by?(id) end これは2つの質問に要約されると思います。 オブジェクトの配列をActiveRecord :: Relationに変換するにはどうすればよいですか?where毎回行うことはできません。 def self.subjectsActiveRecord :: Relationでtypeメソッドを実行するとき、そのActiveRecord :: Relationオブジェクト自体にどのようにアクセスしますか? ありがとう。明確にする必要がある場合はお知らせください。


13
WindowsでのExecJS :: RuntimeErrorがrubytutorialを追跡しよう
更新: // = require_treeという行を削除するというColinの提案。問題を修正しました。 私はそこにあるすべての提案に従って、私の問題を修正しようとするために2日間以上無駄にしてきました。私はWindowsマシンでhttp://ruby.railstutorial.orgの本をフォローしようとしていますが、私の人生では次の厄介なエラーを乗り越えることができません。 ExecJS::RuntimeError in Static_pages#home Showing C:/Users/.../bootcamp-sample-app/app/views/layouts/application.html.erb where line #6 raised: ["ok","(function() {\n\n\n\n}).call(this);\n"] (in C:/Users/.../bootcamp-sample-app/app/assets/javascripts/sessions.js.coffee) Extracted source (around line #6): 3: <head> 4: <title><%= full_title(yield(:title)) %></title> 5: <%= stylesheet_link_tag "application", media: "all" %> 6: <%= javascript_include_tag "application" %> 7: <%= csrf_meta_tags %> 8: <%= render 'layouts/shim' %> …


5
キュウリのステップを再利用する
いくつかのキュウリの手順を再利用したいのですが、正しい方法が見つからないようです。 次のようなステップを記述したいと思います。 Given /^I login with (.*) credentials$/ |type| # do stuff with type being one of "invalid" or "valid" end しかし、次のような別のステップがあります: Given /^I login successfully$ # call "Given I login with valid credentials" end したがって、ユーザー認証のテストでは前者を使用できますが、他のほとんどの場所では後者を使用でき、実際にコードを再現する必要はありません。 その別のステップを呼び出す方法はありますか、またはヘルパーメソッドにロジックを配置し、各タスクから上記のメソッドを呼び出しますか(基本的にメソッド抽出リファクタリング、私の質問を読んだ後、それが実際に最良の方法であると確信させます)とにかく)?
103 ruby  testing  cucumber 

3
Rubyで文字列内の文字の#回の出現を見つける
文字列内の文字の出現回数を見つけるのに役立つRubyメソッド(1.9 ...)を探しています。最初のものだけでなく、すべての出現を探しています。 例:「メラニーは初心者です」文字「a」は2回出現します。これを見つけるために使用できるRubyメソッドは何ですか? 私が使用してきたRuby-doc.orgを参考にし、scan中の方法は、String: class私の目を引きました。言葉遣いがわかりにくいので、の概念がよくわかりませんscan。 編集:私はこれを使ってこれを解決することができましたscan。私はそれをどのように達成したかをビデオで共有しました。
103 ruby  string  methods 

4
ランダムなブール値を返す最良の方法
私はこれを返すために、trueまたはfalse偽のシードデータを構築するときに、これをしばらく使用しています。またはのどちらtrueかを返すためのより優れた、より簡潔なまたは冗長な方法があるかどうか疑問に思っていますfalse。 rand(2) == 1 ? true : false
103 ruby 

4
基本的なRubyプロジェクトを設定するにはどうすればよいですか?
10〜20クラス/ファイルの小さなRubyプロジェクトを作りたいです。いくつかのgemが必要で、RSpecをテストフレームワークとして使用したい。 後で宝石を作りたいと思うかもしれませんが、それは確かではありません。 プロジェクトの基本構造を設定する方法を示すハウツーまたはガイドはありますか? 私が持っている質問は: すべてのカスタムエラー/例外をどこに配置すればよいですか? lib、bin、srcなどのディレクトリの命名規則はありますか? テストデータまたはドキュメントはどこに配置しますか? 私のプロジェクトでそれらにアクセスできるように、すべてのファイルをどこに要求しますか? 私はすべてを最初から行うことができることを知っていますが、ガイダンスをお願いします。コピーできる優れた宝石がいくつかありますが、本当に必要なものや削除できるものはわかりません。 私が見http://gembundler.com/が、それはバンドラーを設定した後に停止します。


4
RSpecコントローラーテスト-空のresponse.body
RSpecでコントローラーをテストすると問題が発生します。response.body呼び出しは常に空の文字列を返します。ブラウザーではすべてが正しくレンダリングされ、キュウリの機能テストでは正しく表示されるようですが、RSpecは毎回失敗します。 response.should render_template('index')問題なく合格するなど、応答オブジェクトに対するその他の期待。 以前にこの問題に遭遇したことがありますか?おそらく、応答htmlは他の方法で取得できますか? バージョンについては、Rails 2.1.0、RSpec 1.2.7。

4
Rubyでファイル名の拡張子を見つける
Railsアプリのファイルアップロード部分の作業をしています。異なるタイプのファイルは、アプリによって異なる方法で処理されます。 特定のファイル拡張子のホワイトリストを作成して、アップロードされたファイルをチェックして、どこに行くべきかを確認したいと思います。ファイル名はすべて文字列です。 ファイル名文字列の拡張子部分のみをチェックする方法が必要です。ファイル名はすべて「some_file_name.some_extension」の形式です。


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