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

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



8
db:seedデータをテストデータベースに自動的にロードする方法
Rails 2.3.4+でシードデータをロードする新しい標準的な方法であるdb:seedrakeタスクを使用しようとしています。 アプリケーションが実際に正しく機能するために必要な定数データをロードしています。 db:seedテストの前にタスクを実行してデータを事前入力するための最良の方法は何ですか?

4
参照をポリモーフィックにするマイグレーションを生成する方法
Productsテーブルがあり、列を追加したい: t.references :imageable, :polymorphic => true 私はこれを行うためにこのための移行を生成しようとしていました: $ rails generate migration AddImageableToProducts imageable:references:polymorphic しかし、私は明らかにそれを間違っています。誰かが何か提案をすることはできますか?ありがとう マイグレーションの生成後に手動で挿入しようとすると、次のようになりました。 class AddImageableToProducts < ActiveRecord::Migration def self.up add_column :products, :imageable, :references, :polymorphic => true end def self.down remove_column :products, :imageable end end そしてそれはまだ機能していません

28
Smalltalkの代わりにRubyを使用する理由 [閉まっている]
現在のところ、この質問はQ&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 Rubyは、Ruby on Railsの影響から人気が高まっていますが、思春期を経て現在苦労しているようです。RubyとSmalltalkの間には多くの類似点があります- 磁気浮上はその証拠です。より珍しい構文を持っているにもかかわらず、SmalltalkはRubyのオブジェクト指向の美しさのすべて(それ以上ではないにしても)を備えています。 私が読んだことから、SmalltalkはRubyを打ち負かしているようです: 成熟度(1970年代に開発) 安定 商用サポート 分散ソース管理(テキストの差分だけでなく、コードの構造を理解します) VMのいくつかの実装 クロスプラットフォームのサポート Railsの強力な代替手段としての海辺のWebフレームワーク Rubyは単に車輪を再発明しているようです。では、なぜRuby開発者はSmallTalkを使用しないのですか?RubyにはSmalltalkにはない何がありますか? 記録のために:私はSmalltalkの経験がほとんどない、またはまったくないRubyの人ですが、なぜだろうと思い始めています。 編集:スクリプトの使いやすさの問題はGNU Smalltalkによって対処されたと思います。私が理解しているように、これによりsmalltalkを通常の古いテキストファイルに書き込むことができ、Smalltalk IDEにいる必要がなくなります。その後、次を使用してスクリプトを実行できます。 gst smalltalk_file

10
テスト環境でRailsコンソールを実行してtest_helper.rbをロードする方法は?
背景:Thoughtbotの「Factory Girl」gemで問題が発生しています。これは、ユニットやその他のテストで使用するオブジェクトの作成に使用されます。コンソールに行って、何が起こっているのかを確認するために、さまざまなFactory Girl呼び出しを実行したいと思います。たとえば、私はそこに行きたいです... >> Factory(:user).inspect さまざまな環境でコンソールを実行できることを知っています... $スクリプト/コンソールRAILS_ENV = test しかし、その場合、Factoryクラスは利用できません。test_helper.rbロードされていないようです。 へrequireの絶対パスを含むさまざまな呼び出しを試しましたtest_helper.rbが、次のように失敗します。 $ script/console RAILS_ENV=test >> require '/Users/ethan/project/contactdb/test/test_helper.rb' Errno::ENOENT: No such file or directory - /Users/ethan/project/contactdb/config/environments/RAILS_ENV=test.rb Grr。ああ。

5
Railsの移行:別の名前のt.references?
だから私は学校のコースのためにこのようなcreate_tableを持っています: create_table :courses do |t| t.string :name t.references :course t.timestamps end しかし、私はそれが他の2つのコースを参照することを望んでいます: has_many :transferrable_as # A Course has_many :same_as # Another Course 次のように言ってもいいですか? t.references :transferrable_as, :as=> :course

4
なぜパーシャルをレンダリングする前にescape_javascriptですか?
私はこのRailscastエピソードを見ていて、なぜescape_javascriptここに呼び出しが必要なのか疑問に思っています。 $("#reviews").append("<%= escape_javascript(render(:partial => @review)) %>"); 何にescape_javascript使用されますか? Railsのドキュメントによると: escape_javascript(javascript) JavaScriptセグメントのエスケープキャリアリターンと一重引用符および二重引用符。 しかし、それは私にはあまり意味がありません。

3
Rakeの「環境」タスクとは何ですか?
「カスタムレーキタスク」によると: desc "Pick a random user as the winner" task :winner => :environment do puts "Winner: #{pick(User).name}" end 私の知る限り、:winner => :environment「environment前にやるwinner」という意味です。しかし、何environmentですか?いつ使用すべきですか? 試しましrake -Tたが、リストに見つかりませんenvironmentでした。


16
Railsのhtml.erbテンプレートでコメントをブロックする
Rubyコードと混合したhtmlをどのようにコメントアウトしますか? some text <% ... %> more text <%= ... %> something else <% ... %> jspでそれは本当にシンプルです:<%-- ... --%>、しかし私はレールで任意の簡潔なオプションを見つけることができません。 単純なhtmlコメント<!-- ... -->は機能しません。rubyコードは引き続き実行され、エラーが発生します。 if falseHTMLコメントで使用するオプションがありますが、IDEがサポートしていないことは言うまでもなく、非常に冗長です。 純粋なルビーから来るオプションもありますが、これは驚くほどうまくいきます。 <% =begin %> ... html and ruby code goes here <% =end %> それは冗長で奇妙に見え、私が知っているルビIDEのどれもそれをサポートしていないことを除いて、一般的には問題ありません(そうです、私は1回のキーストロークでコメント/コメントアウトしたいです)。 私は好奇心旺盛ですが、これをレールで行うことの「公式」はありますか? ありがとう!
119 ruby-on-rails  ruby  erb 

8
ファクトリーガールを使用してクリップの添付ファイルを生成するにはどうすればよいですか?
私は多くの画像を持つモデルPersonを持っています。ここで、画像にはdataというペーパークリップ添付フィールドがあり、その簡略版は以下に表示されています。 class Person has_many :images ... end class Image has_attached_file :data belongs_to :person ... end 少なくとも1つの画像を添付する必要があります。 FactoryGirlを使用する場合、次のようなコードがあります。 Factory.define :image do |a| a.data { File.new(File.join(Rails.root, 'features', 'support', 'file.png')) } a.association :person end Factory.define :person do |p| p.first_name 'Keyzer' p.last_name 'Soze' p.after_create do |person| person.assets = [Factory.build(:image, :person => person)] end # …

11
Factory Girlでhas_and_belongs_to_many関連付けを作成する方法
次の場合 class User < ActiveRecord::Base has_and_belongs_to_many :companies end class Company < ActiveRecord::Base has_and_belongs_to_many :users end 双方向の関連付けを含め、企業とユーザーの工場をどのように定義しますか?これが私の試みです Factory.define :company do |f| f.users{ |users| [users.association :company]} end Factory.define :user do |f| f.companies{ |companies| [companies.association :user]} end 今私は試す Factory :user おそらく当然のことですが、工場は相互に再帰的に自分自身を定義するために使用するため、無限ループになります。 より驚くべきことに、これをどこで行うかについての言及はどこにも見つかりませんでした。必要なファクトリを定義するためのパターンはありますか、それとも根本的に間違っていることをしていますか?

7
RSpecと時間を比較する際の問題
Ruby on Rails 4とrspec-rails gem 2.14を使用しています。私のオブジェクトの場合updated_at、コントローラーアクションの実行後に現在の時間とオブジェクト属性を比較したいのですが、スペックが渡されないため困っています。つまり、以下はスペックコードです。 it "updates updated_at attribute" do Timecop.freeze patch :update @article.reload expect(@article.updated_at).to eq(Time.now) end 上記の仕様を実行すると、次のエラーが発生します。 Failure/Error: expect(@article.updated_at).to eq(Time.now) expected: 2013-12-05 14:42:20 UTC got: Thu, 05 Dec 2013 08:42:20 CST -06:00 (compared using ==) スペックを合格させるにはどうすればよいですか? 注:私は以下も試しました(utc追加に注意してください): it "updates updated_at attribute" do Timecop.freeze patch :update @article.reload expect(@article.updated_at.utc).to eq(Time.now) …

3
宝石「uglifier」をロードしようとしたときにエラーが発生しました。(Bundler :: GemRequireError)
このエラーが発生するのはなぜですか? shibly@mybox:~/blog$ rails server /home/shibly/.gem/ruby/2.2.4/gems/bundler-1.11.2/lib/bundler/runtime.rb:80:in `rescue in block (2 levels) in require': There was an error while trying to load the gem 'uglifier'. (Bundler::GemRequireError) from /home/shibly/.gem/ruby/2.2.4/gems/bundler-1.11.2/lib/bundler/runtime.rb:76:in `block (2 levels) in require' from /home/shibly/.gem/ruby/2.2.4/gems/bundler-1.11.2/lib/bundler/runtime.rb:72:in `each' from /home/shibly/.gem/ruby/2.2.4/gems/bundler-1.11.2/lib/bundler/runtime.rb:72:in `block in require' from /home/shibly/.gem/ruby/2.2.4/gems/bundler-1.11.2/lib/bundler/runtime.rb:61:in `each' from /home/shibly/.gem/ruby/2.2.4/gems/bundler-1.11.2/lib/bundler/runtime.rb:61:in `require' from /home/shibly/.gem/ruby/2.2.4/gems/bundler-1.11.2/lib/bundler.rb:99:in `require' from /home/shibly/blog/config/application.rb:7:in …

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