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

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



13
ソーシャルアクティビティストリームを実装する最良の方法は何ですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 6年前休業。 この質問を改善する ソーシャルアクティビティストリームを実装する最良の方法はどれですか(Facebookが最も有名な例です)。関連する問題/課題は次のとおりです。 さまざまな種類のアクティビティ(投稿、コメントなど) さまざまな種類のオブジェクト(投稿、コメント、写真など) さまざまな役割に関与する1-nユーザー(「ユーザーxはユーザーZの投稿に対するユーザーyのコメントに返信しました」) 同じアクティビティアイテムのさまざまなビュー(「あなたがコメントした..」vs.「あなたの友人xがコメントした」vs.「ユーザーxがコメントした..」=>「コメント」アクティビティの3つの表現) ..その他、特にFacebookのように高度なレベルに進んだ場合、たとえば、複数のアクティビティ項目を1つに結合する(「ユーザーx、y、zがその写真にコメントした」) そのようなシステム、データモデルなどを実装するための最も柔軟で効率的で強力なアプローチについてのパターンや論文などについての考えや指針は、高く評価されます。 ほとんどの問題はプラットフォームに依存しませんが、Ruby on Railsでこのようなシステムを実装する可能性があります

28
バンドルのインストールがSSL証明書の検証エラーで失敗する
bundle installCentos 5.5でRails 3プロジェクトを実行すると、エラーで失敗します。 Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://bb-m.rubygems.org/gems/multi_json-1.3.2.gem) An error occured while installing multi_json (1.3.2), and Bundler cannot continue. Make sure that `gem install multi_json -v '1.3.2'` succeeds before bundling. 手動で(によってgem install multi_json -v '1.3.2')gemをインストールしようとすると、動作します。他のいくつかの宝石でも同じ問題が発生します。私はRVM(1.12.3)、ruby 1.9.2、bundle 1.1.3を使用しています。 それを修正するには?

8
コンソールでRails SQLロギングを無効にする
コンソールでコマンドを実行しているときにSQLクエリのログを無効にする方法はありますか?理想的には、それを無効にして、コンソールのコマンドで再度有効にできると便利です。 私は何かをデバッグしようとしていて、「プット」を使用して関連データを出力しています。ただし、sqlクエリの出力により、読みにくくなっています。 編集: 別の解決策を見つけました。ロガーをnilに設定すると、コード以外のものがlogger.warnを呼び出そうとしたときにエラーが発生することがあったためです ロガーを設定する代わりに、ロガーnilのレベルをに設定できます1。 ActiveRecord::Base.logger.level = 1 # or Logger::INFO

17
Railsでの完全にカスタムの検証エラーメッセージ
Railsを使用して、保存時に「曲フィールドを空にすることはできません」などのエラーメッセージを表示しようとしています。以下を実行します。 validates_presence_of :song_rep_xyz, :message => "can't be empty" ...「Song Rep XYWは空にできません」と表示されるだけですが、フィールドのタイトルがわかりにくいため、これは適切ではありません。フィールド自体のタイトルを変更するにはどうすればよいですか?データベース内のフィールドの実際の名前を変更することはできますが、「歌」フィールドが複数あり、特定のフィールド名を指定する必要があります。 Railsの検証プロセスをハッキングしたくないので、それを修正する方法があるはずだと思います。



3
Railsモデルのデフォルトのソート順?
モデルにデフォルトのソート順を指定したいのですが。 そのため、.where()指定せずにを実行する.order()と、デフォルトのソートが使用されます。ただし、を指定する.order()と、デフォルトが上書きされます。

11
Rails:update_attributeとupdate_attributes
Object.update_attribute(:only_one_field, "Some Value") Object.update_attributes(:field1 => "value", :field2 => "value2", :field3 => "value3") これらは両方とも、更新をARに明示的に指示する必要なく、オブジェクトを更新します。 Rails APIは言う: update_attribute 単一の属性を更新し、通常の検証手順を実行せずにレコードを保存します。これは、既存のレコードのブールフラグに特に役立ちます。検証モジュールが混合されると、Baseの通常のupdate_attributeメソッドがこれに置き換えられます。これはデフォルトです。 update_attributes 渡されたハッシュからすべての属性を更新し、レコードを保存します。オブジェクトが無効な場合、保存は失敗し、falseが返されます。 したがって、オブジェクトを検証したくない場合は、update_attributeを使用する必要があります。before_saveにこのアップデートがあるとどうなりますか? 私の質問は、update_attributeも保存前または検証のみをバイパスするかどうかです。 また、update_attributesにハッシュを渡すための正しい構文は何ですか?一番上の私の例を確認してください。


10
Rubyバンドルシンボルが見つかりません:_SSLv2_client_method(LoadError)
私は自作を使用してopensslにいくつかの更新を行おうとしていたのですが、何とかしてすべてを壊しました。今は何もできません。これをバンドルインストールしようとすると、次のようになります。 $ bundle install /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': dlopen(/Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle, 9): Symbol not found: _SSLv2_client_method (LoadError) Referenced from: /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle Expected in: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib in /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle - /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/openssl.rb:17:in `<top (required)>' from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/security.rb:11:in `<top (required)>' from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/package.rb:43:in `<top (required)>' …

13
Rubyは参照渡しですか、値渡しですか?
@user.update_languages(params[:language][:language1], params[:language][:language2], params[:language][:language3]) lang_errors = @user.errors logger.debug "--------------------LANG_ERRORS----------101-------------" + lang_errors.full_messages.inspect if params[:user] @user.state = params[:user][:state] success = success & @user.save end logger.debug "--------------------LANG_ERRORS-------------102----------" + lang_errors.full_messages.inspect if lang_errors.full_messages.empty? @userオブジェクトはメソッドのlang_errors変数にエラーを追加しますupdate_lanugages。@userオブジェクトの保存を実行すると、lang_errors変数に最初に格納されたエラーが失われます。 私がやろうとしていることは、もっとハックすることです(それは機能していないようです)。なぜ変数値が洗い流されるのか理解したいのですが。参照渡しを理解しているので、値が洗い流されることなくその変数に保持される方法を知りたいのですが。

12
Rails-JavaScriptランタイムが見つかりませんでしたか?
rails 3.1.0.rc4ローカルマシンでを使用して新しいRailsプロジェクトを作成しましたが、サーバーを起動しようとすると、JavaScriptランタイムが見つかりませんでした。使用可能なランタイムのリストについては、こちらをご覧ください。(ExecJS::RuntimeUnavailable) 注:これはHerokuに関するものではありません。

9
空のActiveRecordリレーションを返す方法は?
ラムダ付きのスコープがあり、引数を取る場合、引数の値によっては、一致がないことはわかっているかもしれませんが、空の配列ではなく、関係を返したいと思います。 scope :for_users, lambda { |users| users.any? ? where("user_id IN (?)", users.map(&:id).join(',')) : [] } 私が本当に望んでいるのは、「すべて」の反対である「なし」メソッドです。これは、まだ連鎖できるリレーションを返しますが、クエリが短絡されます。

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