すべてのモデルで使用されるメソッドはどこに置くべきですか?すべてのモデルで使用するメソッドを配置するレール
答えて
"Concerns"というRailsのコンベンションについていくつか調査したいと思うでしょう。下見は次のとおりです:appディレクトリの懸念と呼ばれるサブディレクトリを作成します。モジュールをアプリケーション/懸念事項として作成し、すべてのモデルにモジュールを組み込みます。 app/concernsへのパスをconfig/application.rbのconfig.autoload_pathに追加します。
これを行う前に、どのような方法をすべてのモデルに組み込む必要があるのでしょうか?どのくらいのモデルが話していて、解決しようとしている問題は何ですか?
これは、リモートサーバー、つまりsocket.ioサーバーへのデータ用です。私はリアルタイム更新のためにsocket.ioを使用しています。複数のモデルからそれらの更新を送信する必要があります。 – JRPete
私は心配していないと思う正しい方法です –
合意、Aroop。私は解決策がより高いレベルにある必要があると思う。私はsocket.ioで十分に精通していない。 –
あなたはこの
- 使用OOPを達成行うと、プロジェクトにはActiveRecord ::ベース用のサブクラスを作成し、すべてのモデル の親として、そのクラスを使用することができている複数の方法があります。
- モンキー・パスはActiveRecord ::ベース
- モジュールを作成し、すべてのモデル
にあなたはモジュールで、再利用可能なメソッドを書くことができますし、必要に応じてモデルに含まれていることを含んでいます。
のlib/reusable.rbに
module Reusable
def reusable_method_1
puts "reusable"
end
def reusable_method_2
puts "reusable"
end
end
をファイルを作成するには、ユーザーモデルで
class User < ActiveRecord::Base
include Reusable
end
を、これを使用し、またautoload_pathがでlib /ディレクトリに対して有効になっていることを確認したい場合としましょうapplication.rb
# Custom directories with classes and modules you want to be autoloadable.
config.autoload_paths += %W(#{config.root}/lib)
この質問には多くの回答があり、autoload_pathsにはlibを含めて何も言及されていません。 +1!私の問題を解決した –
サーバーの起動中にアクティブなレコード拡張子
# config/initializers/core_extensions.rb
class ActiveRecord::Base
# write ur common base code here
def self.per_page
@@per_page ||= 10
end
def self.pagination(options)
paginate :per_page => options[:per_page] || per_page, :page => options[:page]
end
end
- 1. モデル上で動作するメソッドを配置する場所
- 2. メソッドを配列に配置して使用するのは誰ですか?
- 3. モデルをメソッドでレールに渡す
- 4. Ruby:レール3モデルですべての利用可能な年を得る方法
- 5. レールにモデルのないコントローラ用のルートヘルパーを使用する
- 6. 多くのコントローラとビューで使用されるレール機能を配置する場所はどこですか
- 7. Rails:モデルをどのように配置するのですか?
- 8. レールでgettextを使用してモデル(テーブル名、カラム名)を変換する
- 9. レールのコントローラからモデルのメソッドにアクセスする方法
- 10. エンティティフレームワークを使用してモデルにメソッドを追加する
- 11. Java監査ログaspectjを使用するすべてのメソッド
- 12. Lyxでfancyhdrを使用してページ番号を配置する
- 13. SilverlightでTransformToVisualを使用してHTML要素を配置する
- 14. カスタムHtmlHelperでモデルのメソッドを使用する方法
- 15. helper_methodの後のコントローラのメソッドは、レールのすべてのビューで使用可能です。
- 16. オブジェクトをすべてのメソッドで使用できるようにするC++
- 17. レールでモデルを作成する方法
- 18. ビジネスロジックを配置する場所はSymfony 2モデル層ですか?
- 19. Backbone.jsのモデル内でコレクションを配置する方法は?
- 20. appharbor.comに配置する予定のメソッドの適用
- 21. jQueryの検証を使用してエラーラベルを再配置する
- 22. link_to関数を使ってレールのメソッドにリンクする
- 23. Android Proguardを使用してすべてのクラスを1つのパッケージに配置する方法
- 24. datetimeのレールでaccepts_nested_attributes_forを使用する
- 25. モデルの値をロールアップするレール
- 26. mysqliに比べてZend_Dbモデルを使用する利点は何ですか?
- 27. Eclipse Javaでクラスのすべてのメソッドのすべての使用法をリストする方法は?
- 28. cssを使用してnavbarをセンターに配置する方法
- 29. JSFスニペットを使用して画像をパネルグリッドに配置する
- 30. Web配置(msdeploy)を使用してWebMatrixサイトを公開する
重複していますか? http://stackoverflow.com/questions/2328984/rails-extending-activerecordbase –