問題タブ [activemodel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xml - rti/FastXml などは Rails 3 と連携して xml レンダリングを高速化しますか?
Rails 3に実装された REST API があり、yajl
バックエンド forを使用していjson
ます。現在、約 20 行以上をシリアル化する場合json
よりもはるかに高速に応答を生成しています。xml
次に考えたのは、すでにforを使用しているlibxml
ように、レール 3 にも同様の C ライブラリ ドロップインが必要だということでした。to_xml
libyajl
to_json
今日まで、私はrti/FastXmlプロジェクトだけを見つけました: https://github.com/rti/FastXml
これは私が欲しいものだと主張していますが、2010 年初頭から更新されておらず、目に見えるフォークもありません。
FasterXmlがrails 3で動作するかどうかを知っている人はいますか?
さらに重要なことに、Rails 3 を高速化する他の方法を知っている人はいますrender :xml => @search_results
か?
助けてくれてありがとう。
ruby-on-rails - ToyStoreモデルのオブザーバーを作成するにはどうすればよいですか?
与えられたモデル:
ActiveModel::Observer
オブザーバーの作成に使用できますか?Railsアプリで使用していないため、ActiveRecordフレームワークを削除します。
次のようなオブザーバーを追加します。
動作しないようです。ActiveRecordフレームワークが削除されているため、アプリケーション構成にオブザーバーを含めることはできません。
ruby-on-rails - Rails検証の順序を制御する
ユーザーがフォームを介して入力した7つの数値属性を持つRailsモデルがあります。
これらの各属性の存在を検証する必要があります。これは明らかに簡単に使用できます。
ただし、いくつかの属性を取得し、それらを使用していくつかの計算を行うカスタムバリデーターも実行する必要があります。これらの計算の結果が特定の範囲内にない場合は、モデルを無効と宣言する必要があります。
それ自体で、これも簡単です
ただし、問題は、メソッド「validate」が常にメソッド「validates」の前に実行されることです。これは、ユーザーが必須フィールドの1つを空白のままにすると、空白の属性を使用して計算を行おうとすると、railsがエラーをスローすることを意味します。
では、最初に必要なすべての属性の存在を確認するにはどうすればよいですか?
ruby-on-rails - Rails 3:依存=>:拒否または類似?
多くの「コース」があるモデル「ロケーション」があります
場所を破棄する場合、場所とコースの間に関係がない限り、破棄リクエストを拒否したいと思います。これを行うにはかなり簡潔な方法があると思いますが、何も見つかりません。
すっごく...この種の機能を有効にする最もエレガント/シンプル/簡潔な方法は何ですか?
ruby-on-rails - ActiveModel::SecurePassword未定義のメソッド`password_digest= '
http://bcardarella.com/post/4668842452/exploring-rails-3-1-activemodel-securepasswordに従って、rails 3.1 ActiveModel::SecurePasswordを使用しようとしています。
そして、私は赤い光で終わります...
user.rb
factory.rb
spec_user.rb
そして、私は赤信号を取得します...
そして、それはrake db:migrateの問題だと思い、rails cを調べましたが、明らかにpassword_digestが定義されています。
ruby-on-rails - Rails 3のカスタムフォーマットの検証エラー?
このモデルでは:
かなり不自然な例として。エラーは次のようになります。
自分でフォーマットを提供するにはどうすればよいですか?
私はのソースコードを見て、ActiveModel::Errors#full_messages
これを行います:
:default
オプションのフォーマット文字列に注目してください。だから私は試しました:
しかし、エラーメッセージは実際には次のように表示されます。
そこで、補間文字列を含めてみたので、 Rails がデフォルトで使用するバージョン%{message}
をオーバーライドしました。%{attribute} %{message}
これにより例外が発生します。
I18n::SubscriptionsController の MissingInterpolationArgument#create
"%{message}" に補間引数がありません ({:model=>"Subscription", :attribute="Email", :value=""} が指定されました)
それでも、補間文字列を使用すると、%{attribute}
エラーは発生せず、人間化された属性名が2回吐き出されます。
誰でもこれについて経験がありますか?いつでも最初に属性名を付けることができますが、他の文字列が必要になることがよくあります (マーケティング担当者は常に物事をより複雑にします!)。
ruby-on-rails - new を呼び出した後に ActiveModel を破棄する
ここで説明されている resource_controller の原則に従うコントローラーを使用しています。
ご覧のとおり、(新規、作成など) すべてのプリロード データを完全に制御することはできません。つまり、新しいエンティティを作成する場合は@user
、次のコードが既に呼び出されているとし@user = User.new
ます。
いくつかの検証を含めることができる唯一の方法は、コールバックを使用することですが、コールバックが新しいメソッドをキャンセルすることを決定すると、常にハッシュ フリーズ エラーが発生します。というか、なんとも言えない
@user = User.new
@user.destroy
私が思いついた唯一のハックは
@user = User.new
@user.save
@user.destroy
データベースに保存する必要のない、より良い方法を知っている人はいますか? ところで、アクティブなレコードとアクティブなモデルの違いは何ですか?
ruby-on-rails-3 - Rails3ActiveModelでのカスタム検証でエラーが発生する
Date Validator Gemを使おうとしていますが、エラーが発生しました。モデルがActive Recordでないかどうかはわかりません(ActiveModelでは検証が少しファンキーだと言われています) ActiveRecordにない場合)。
Ruby1.9.2とRails3.0.7を使用しています。以下にクラスとエラーの両方を添付しました。
助けてくれてありがとう!
クラス
Railsコンソールからのエラー
ruby-on-rails - モデル属性にアクセスするための動的スコープ
私は現在、Rails 3 に組み込まれている大量割り当てセキュリティを使用して、モデルについてどのレベルのユーザーが更新できるかを調べています。たとえば、このコードを使用すると、ユーザー レベルに基づいて属性を保護できます。
検索を行うときにどの属性が表示されるかについて、これと同じアイデアを使用できるようにしたいと考えています。たとえば、私は言うことができるようにしたいです
そして信用格付けを取り戻す。これを行うことと比較してください
credit_rating を除くすべての属性を取得する
これはレールがサポートしているものですか?
ruby-on-rails - ActiveRecord has_attributeと同等のActiveModel?
dbではなくサードパーティのAPIに接続しているため、ActiveModelを使用しています。ハッシュを渡してモデルの属性に変換できるように、独自のイニシャライザーを作成しました。これは、アプリケーションの一部のフォームをサポートするためです。
問題は、APIからのデータ取得を処理するために同じモデルを使用したいということですが、これには私が本当に気にしない他のデータがたくさんあります。そのため、APIから返されたハッシュを反復処理し、属性がモデルに存在するかどうかを確認し、存在しない場合は無視します。これにより、フォームの投稿とAPIから返されるデータの両方に対して一貫したモデルを作成できるようになります。何かのようなもの:
ActiveModel APIのドキュメントを調べましたが、同等のものはないようです。これは、私がこれを別の方法で行うべきであるかのように私を感じさせています。
これはこれを行うための正しい(レール)方法ですか?データがさまざまなソースから取得されている場合、一貫したモデル属性を確保するにはどうすればよいですか?