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

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

9
Rails:文字列の最小長と最大長を検証しますが、空白にすることはできます
検証したいフィールドがあります。フィールドを空白のままにできるようにしたいのですが、ユーザーがデータを入力する場合は、特定の形式にする必要があります。現在、モデルで以下の検証を使用していますが、これではユーザーが空白のままにすることはできません。 validates_length_of :foo, :maximum => 5 validates_length_of :foo, :minimum => 5 目標を達成するためにこれをどのように書くのですか?


7
Rspecは私のモデルクラスを認識していません。初期化されていない定数エラー
Ruby onRailsアプリケーションでモデルのRspecのテストを書いています。そして、「rspecspec」の起動中にこのエラーが発生します command: /spec/models/client_spec.rb:4:in `<top (required)>': uninitialized constant Client (NameError) Rails4.0.0とRuby2.0.0を使用しています これが私のclient_spec.rbです: require 'spec_helper' describe Client do it 'is invalid without first_name', :focus => true do client = Client.new client.should_not be_valid end end そしてGemfile: source 'https://rubygems.org' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '4.0.0.rc1' # Use …

8
LEFTOUTERがRails3に参加
私は次のコードを持っています: @posts = Post.joins(:user).joins(:blog).select これは、すべての投稿を検索し、それらと関連するユーザーおよびブログを返すことを目的としています。ただし、ユーザーはオプションです。つまり、INNER JOIN、:joins生成大量のレコードを返しません。 これを使用してLEFT OUTER JOIN代わりに生成するにはどうすればよいですか?

4
factory_girlで使用すると、Fakerが重複データを生成します
Faker gemを使用して、いくつかの偽のデータをファクトリに入力しようとしています。 Factory.define :user do |user| user.first_name Faker::Name::first_name user.last_name Faker::Name::last_name user.sequence(:email) {|n| "user#{n}@blow.com" } end ただし、これにより、first_nameとlast_nameが異なるユーザーが生成されることを期待していますが、それぞれは同じです。 >> Factory(:user) => #<User id: 16, email: "user7@blow.com", created_at: "2011-03-18 18:29:33", updated_at: "2011-03-18 18:29:33", first_name: "Bailey", last_name: "Durgan"> >> Factory(:user) => #<User id: 17, email: "user8@blow.com", created_at: "2011-03-18 18:29:39", updated_at: "2011-03-18 18:29:39", first_name: "Bailey", …

4
Rails 3.0のArelとは正確には何ですか?
ActiveRecordの代わりであり、クエリの代わりにオブジェクトを使用することを理解しています。 だが... なぜこれが良いのですか? オブジェクト/クエリは「簡単に」作成できますか? それはより効率的なSQLクエリにつながりますか? すべての主要なDBと互換性がありますか?-そうなると思います。 ストアドプロシージャでの使用は簡単/困難ですか?

5
Railsの適切なSCSSアセット構造
したがって、app/assets/stylesheets/次のようなディレクトリ構造があります。 |-dialogs |-mixins |---buttons |---gradients |---vendor_support |---widgets |-pages |-structure |-ui_elements 各ディレクトリには、複数のsassパーシャルがあります(通常は* .css.scssですが、1つまたは2つの* .css.scss.erb)。 私は多くのことを想定しているかもしれませんが*= require_tree .、application.cssにあるため、railsはそれらのディレクトリ内のすべてのファイルを自動的にコンパイルする必要がありますよね? 最近、すべての色変数を削除してルートapp/assets/stylesheetsフォルダー(_colors.css.scss)のファイルに配置することにより、これらのファイルを再構築しようとしました。次に、app/assets/stylesheets次のようなファイルをmaster.css.scssというルートフォルダーに作成しました。 // Color Palette @import "colors"; // Mixins @import "mixins/buttons/standard_button"; @import "mixins/gradients/table_header_fade"; @import "mixins/vendor_support/rounded_corners"; @import "mixins/vendor_support/rounded_corners_top"; @import "mixins/vendor_support/box_shadow"; @import "mixins/vendor_support/opacity"; Railsがアセットのコンパイルの順序をどのように処理するかはよくわかりませんが、明らかに私の好みではありません。インポートされている変数またはミックスインがあることを認識しているファイルがないようです。そのため、エラーがスローされ、コンパイルできません。 Undefined variable: "$dialog_divider_color". (in /home/blah/app/assets/stylesheets/dialogs/dialog.css.scss.erb) Undefined mixin 'rounded_corners'. (in /home/blah/app/assets/stylesheets/widgets.css.scss) 変数$dialog_divider_colorは_colors.css.scssで明確に定義されており、_master.css.scss色とすべてのミックスインをインポートしています。しかし、どうやらレールはそのメモを受け取らなかったようです。 これらのエラーを修正する方法はありますか、それともすべての変数定義を個々のファイルに戻し、すべてのミックスインインポートに戻す必要がありますか? 残念ながら、この男はそれが可能だとは思わないようですが、私は彼が間違っていることを望んでいます。どんな考えでも大歓迎です。

3
Railsの移行:self.upおよびself.downと変更
新しいrailsバージョンには、self.upおよびself.downメソッドに対する「変更」メソッドがあるようです。 したがって、移行をロールバックする必要がある場合はどうなりますか。実行するアクションをどのように認識しますか。オンラインチュートリアルに基づいて実装する必要がある次のメソッドがあります。 class AddImageToUsers < ActiveRecord::Migration def self.up add_column :users, :image_file_name, :string add_column :users, :image_content_type, :string add_column :users, :image_file_size, :integer add_column :users, :image_updated_at, :datetime end def self.down remove_column :users, :image_file_name, :string remove_column :users, :image_content_type, :string remove_column :users, :image_file_size, :integer remove_column :users, :image_updated_at, :datetime end end 新しい変更方法を使用して同じことを行うにはどうすればよいですか?

2
キャピストラーノの「役割」とは正確には何ですか?
Capistranoレシピの「役割」の目的と機能は何ですか?サンプルレシピを見ると、次のようなものがよく見られます。 role :app, 'somedomain.com' role :web, 'somedomain.com' role :db, 'somedomain.com', :primary => true したがって、ロールは基本的にCapistranoがコマンドを実行するサーバーのように見えます。その場合、なぜ「ホスト」や「サーバー」ではなく「ロール」と呼ばれるのでしょうか。 上記の例では、:appとの:web役割の違いは何ですか? :primary => trueオプションは何をしますか?

10
すべてのRESTful関数を備えたコントローラーを生成します
すべてのRESTfulアクションをスタブ化したコントローラーを生成しようとしています。私はウィキブックスで読んだことがあります-Rubyon Railsは、コントローラー名を使用してジェネレーターを呼び出すだけで、それを取得できます。それで、私は走りましscript/generate rspec_controller Propertiesたが、空のコントローラーを手に入れました。 他の提案をいただければ幸いです。

6
Railsが生産中であるかどうかを見分ける方法は?
私は以前script/server -e production、本番モードでレールを起動していました。実行され、エラーは発生しませんでした。ただし、本番モードであるかどうかはどうすればわかりますか?存在しないルートを試しましたが、開発時に行ったのと同様のエラーページが表示されました。 本番モデルでは、/ publicフォルダーにある404エラーページが表示されると思いました。 プロダクションモードで起動しなかったということですか? ご協力いただきありがとうございます。


19
Bundler:Gemfileを変更した後、デプロイメントモードでインストールしようとしています
私はbundleとcapistranoにかなり慣れていないので、それらを一緒に使用しようとしています。デプロイしようとすると、次のメッセージが表示されます。 Gemfileを変更した後、デプロイメントモードでインストールしようとしています。他の場所で「bundleinstall」を実行し、更新されたGemfile.lockをバージョン管理に追加します。 苦情を言っているシステムを満足させる方法がわかりません。また、ドキュメントを読んだため、苦情が発生する理由がわかりません。 Gemfile.lockが存在し、Gemfile(5)を更新した場合、bundleは、更新しなかったすべてのgemに対してGemfile.lockの依存関係を使用しますが、更新したgemの依存関係を再解決します。 。この更新プロセスの詳細については、以下の「保守的な更新」を参照してください。 私はそれを、Bundlerが私のGemfileが期待したものではないという事実を処理できることを意味すると解釈します。何か助けはありますか? 仕様:Ruby 1.9.3、Rails 3.2.3、Capistrano 2.12.0、Bundler 1.1.4、Windows 7、Posixマシンへのデプロイ。 編集:私のGemfileには、次のようなロジックブロックが含まれています。 unless RbConfig::CONFIG['host_os'] === 'mingw32' # gem 'a' ... end

8
AWS OpsWorks vs AWS Beanstalk vs AWS CloudFormation?
AWSOpsWorksとAWSBeanstalkおよびAWSCloudFormationを使用することの長所と短所は何ですか? 自動スケーラブルも可能なデータベースレイヤーを含め、多数の同時Webリクエスト(1分あたり1000リクエストから1,000万rpmまで)を処理するために自動スケーリングできるシステムに興味があります。 アプリごとに個別のインスタンスを用意する代わりに、理想的には、いくつかのハードウェアリソースを効率的に共有したいと思います。過去には、主にEC2インスタンス+ RDS + Cloudfront + S3を使用していました スタックシステムは、Herokuから移行するトラフィックの多いRuby on Railsアプリ、Python / djangoアプリ、PHPアプリをホストします。 前もって感謝します。

4
RSpec:複数の変更を期待
機能仕様でフォームを送信するときに、モデルの多くの変更を確認したいと思います。たとえば、ユーザー名がXからYに変更され、暗号化されたパスワードが任意の値で変更されたことを確認したいと思います。 それについてはすでにいくつか質問があることは知っていますが、私にふさわしい答えは見つかりませんでした。最も正確な答えは、ChangeMultipleここでMichael Johnstonによるマッチャーのようです:RSpecが2つのテーブルの変更を期待することは可能ですか?。その欠点は、既知の値から既知の値への明示的な変更のみをチェックすることです。 より良いマッチャーがどのように見えるかについて、いくつかの擬似コードを作成しました。 expect { click_button 'Save' }.to change_multiple { @user.reload }.with_expectations( name: {from: 'donald', to: 'gustav'}, updated_at: {by: 4}, great_field: {by_at_leaset: 23}, encrypted_password: true, # Must change created_at: false, # Must not change some_other_field: nil # Doesn't matter, but want to denote here that this field exists ) …

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