問題タブ [virtual-attribute]
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.
ruby-on-rails-3 - 別のモデルコントローラーで使用される Rails 3 仮想属性
別のコントローラーでモデルの仮想属性を達成しようとする問題を実験しています。それを行う方法はありますか?
仮想属性は次のとおりです。
そして、私がやろうとしている別のコントローラーで:
これを行うと、エラーが発生しました:
これを手伝ってくれる人はいますか?
ありがとう
アップデート; 完全なモデルは次のとおりです。
ruby-on-rails - current_userをコールバック経由でモデルに渡す
作成/更新時にアクティビティをログに記録するコールバックがいくつかあります。
作成/更新時にユーザーを記録するためにcurrent_user(デバイス)を渡すように設計を拡張する必要があります。log_projelement_activity
current_userコントローラからモデルに、仮想属性を介してコールバックを渡そうとしています。しかし、これは機能していません。
コード:
フィールドが。Activityであることを除いて、各作成/更新には期待値があります。usernil
私は何が欠けていますか?
ruby-on-rails - スコープに仮想属性を設定する
スコープに仮想属性を設定する方法を見つけようとしています。背景は、アカウントに属する顧客がいます。顧客は販売アイテムを購入できます。過去にどの顧客がどの商品を購入したかを示すテーブル customers_salesitem があります。
販売アイテムを、顧客が購入したもの、同じアカウントの別の顧客が購入したもの、および購入していないものに分類する追加フィールド「カテゴリ」を使用して、販売アイテムのリストを生成したいと思います。アカウントの誰でも購入できます。最終的には、スコープをオートコンプリート フィールドに使用したいのですが、現時点では少しずれています。
私は次の行に沿っていくつかのことを試しました:
SQL は正しく生成されますが、スコープはカテゴリのないアイテム リストを返します。
ruby-on-rails - モデル内の別の仮想属性の属性をオーバーライドするにはどうすればよいですか?
仮想属性start_dateとデータベース列start(datetime) があります。
startの日付 (時刻ではない) をからの日付でオーバーライドするにはどうすればよいstart_dateですか?
セッターメソッドでこれを試したところ、ロガーは self.start/start が設定されていると言いますが、データベースと更新ログstartにはまだ古い日付があります。
startログには、次の情報が入力されていることがわかります。
ruby-on-rails - attr_encrypted が仮想属性を暗号化キーに使用する前に、仮想属性が設定されていません
encryption_keyが呼び出されattr_encryptedたときが:passphrase設定されていません。暗号化キーは、salt の sha1 ハッシュになります。パスフレーズとソルトの sha1 ハッシュにする必要があります。
ソルトは作成時に生成され、データベースに保存されます。
:passphrase暗号化キーで仮想属性を使用するにはどうすればよいですか?
助言がありますか?
簡潔にするために、一連のコードを省略しました。
前もって感謝します!
sorting - yiiカスタム属性で並べ替え
私の休暇モデルVacにはこの機能があります
この関数は、1回の休暇に何日あるかを返します。
そして、次のようにcgridviewにカスタム列を追加したいと思います。
それはうまくいきます。しかし、このカスタム属性をどのように並べ替えることができるかわかりません。CSortを使おうとしましたが、動作しません。何か案が?
ruby-on-rails - SinatraとDatamapperを使用した仮想属性
RailsアプリをSinatraに変換しています。アプリケーションは仮想属性をサポートするActiveRecordに依存していましたが、DataMapperで同様のサポートを見つけるのに苦労しています。
Railsでは、アルゴリズムを使用してスコアを生成し、スコアに基づいてレコードを並べ替えました。このプロセスの中心は仮想属性でした。Sinatra / DMでこの機能を複製する方法を知っている人はいますか?
私はどんな回避策にもオープンです。現時点では機能にのみ関心があるため、リファクタリングは後で行うことができます。
理論的には、ソリューションは次のように機能します。
php - Yii モデルに派生列を追加するにはどうすればよいですか?
Yii では、モデルの結果セットに「派生」列を追加する必要があります。列は実際にはデータベース テーブルに存在しません。
たとえば、Activityモデルがあるとします。活動には、(1) 収入、または (2) 支出の 2 種類しかありません。
income_totalorという列を追加したい場合(アクセスされているアクティビティの種類expense_totalに応じて)、どのようにすればよいでしょうか?
以下は、Ruby on Rails でのモデルの実例Activityです (基本的に、同じことを Yii で行う方法を考えています)。
2012 年 7 月 1 日更新:
Leonardo が提供した回答は、Virtual Attributesの使用を指しています。これにより、データベースから取得している結果セットの各「行」に属性が追加されます。
Activityモデルに とのBELONGS_TO関係がある場合Parent、親ビューは次のようになります。
ただし、この仮想属性が foreach() ループ内でアクセスされるのは意味がありません。
私が望むこれらの仮想属性は、結果セット全体に対して 1 つの「集約された」値を提供するため、次の$parent->activities->incomes_totalように を使用してアクセスできるようにしたいと考えています。
これを達成するには、Activity モデル コード内で何をする必要がありますか、それとも別の方法で考えるべきですか?
ruby-on-rails-3 - Rails 3は、スコープを持つ仮想フィールドのvalidates_uniquess_of
レコードがすでに存在するかどうかを確認するために仮想フィールドで検証を実行する必要があるRails3アプリに取り組んでいます...これが私のモデルコードです:
エラーは発生していません。検証に合格しています。
ruby-on-rails-3 - タイムゾーンの影響を受ける Rails 3 アプリ
アップデート:
以下のコメントからコピー:
サイトへの各訪問者の IP アドレスに対して Web サービスを使用することを考えましたが、タイムゾーンにまたがる場所で会議を見ているユーザーについて疑問に思ったので、タイムゾーンは、ユーザーの場所ではなく、表示されている会議の場所に関連付ける必要があります。自分自身がその瞬間にいます。ユーザーが会議のリスト (時間と場所を含む) を表示できるようにする必要があり、表示される時間は実際の会議時間ですが、会議を一覧表示する SELECT の WHERE 句では、各会議場所のタイムゾーンを考慮する必要があります。 .
私は周りを見回しましたが、レールアプリでタイムゾーンを使用することについて多くの質問があります.
問題は、アプリがデータベースに対してクエリを適切に実行して、たとえば将来の日時を確認できるようにするために、ユーザーがどのタイムゾーンにいるのかをアプリが知る必要があるという事実にあります。
私のサイトへの通常の訪問者が正しく機能するためにログインする必要がないようにしたいので、次のように考えています。
- 管理者ユーザーがログインし
itemて特定のlocation投稿を投稿するdatetime - アイテムを保存するとき、 の を使用し
[lat,lng]てlocationを呼び出し、 のTimezone gemをキャプチャしtimezoneます。location timezoneと同じモデルの追加フィールドにこれを追加する必要がある[lat,lng]と思いますdatetime(レールはとして保存しますUTC)(https://stackoverflow.com/a/2533323)- 通常のユーザーがサイトにアクセスしたときに Web ページが将来の場所を選択するように、モデルを
UTC datetimeそれぞれのモデルと組み合わせる必要があります。timezoneitemUTC+timezone datetimes
それは可能/正しいと思いますか?
混乱するように聞こえる場合は、コメントで言ってください。可能であれば、もう少しうまく言い直します.
誰かがフィールドvirtual attributeと結合する (私が思うに)UTC datetimeモデルを作成するためのコードを提供できますか?timezone
ありがとう