問題タブ [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.

0 投票する
1 に答える
543 参照

ruby-on-rails-3 - 別のモデルコントローラーで使用される Rails 3 仮想属性

別のコントローラーでモデルの仮想属性を達成しようとする問題を実験しています。それを行う方法はありますか?

仮想属性は次のとおりです。

そして、私がやろうとしている別のコントローラーで:

これを行うと、エラーが発生しました:

これを手伝ってくれる人はいますか?

ありがとう

アップデート; 完全なモデルは次のとおりです。

0 投票する
1 に答える
1165 参照

ruby-on-rails - current_userをコールバック経由でモデルに渡す

作成/更新時にアクティビティをログに記録するコールバックがいくつかあります。

作成/更新時にユーザーを記録するためにcurrent_user(デバイス)を渡すように設計を拡張する必要があります。log_projelement_activity

current_userコントローラからモデルに、仮想属性を介してコールバックを渡そうとしています。しかし、これは機能していません。

コード:

フィールドが。Activityであることを除いて、各作成/更新には期待値があります。usernil

私は何が欠けていますか?

0 投票する
1 に答える
1138 参照

ruby-on-rails - スコープに仮想属性を設定する

スコープに仮想属性を設定する方法を見つけようとしています。背景は、アカウントに属する顧客がいます。顧客は販売アイテムを購入できます。過去にどの顧客がどの商品を購入したかを示すテーブル customers_salesitem があります。

販売アイテムを、顧客が購入したもの、同じアカウントの別の顧客が購入したもの、および購入していないものに分類する追加フ​​ィールド「カテゴリ」を使用して、販売アイテムのリストを生成したいと思います。アカウントの誰でも購入できます。最終的には、スコープをオートコンプリート フィールドに使用したいのですが、現時点では少しずれています。

私は次の行に沿っていくつかのことを試しました:

SQL は正しく生成されますが、スコープはカテゴリのないアイテム リストを返します。

0 投票する
1 に答える
204 参照

ruby-on-rails - モデル内の別の仮想属性の属性をオーバーライドするにはどうすればよいですか?

仮想属性start_dateとデータベース列start(datetime) があります。

startの日付 (時刻ではない) をからの日付でオーバーライドするにはどうすればよいstart_dateですか?

セッターメソッドでこれを試したところ、ロガーは self.start/start が設定されていると言いますが、データベースと更新ログstartにはまだ古い日付があります。

startログには、次の情報が入力されていることがわかります。

0 投票する
1 に答える
465 参照

ruby-on-rails - attr_encrypted が仮想属性を暗号化キーに使用する前に、仮想属性が設定されていません

encryption_keyが呼び出されattr_encryptedたときが:passphrase設定されていません。暗号化キーは、salt の sha1 ハッシュになります。パスフレーズとソルトの sha1 ハッシュにする必要があります。

ソルトは作成時に生成され、データベースに保存されます。

:passphrase暗号化キーで仮想属性を使用するにはどうすればよいですか?

助言がありますか?

簡潔にするために、一連のコードを省略しました。

前もって感謝します!

0 投票する
1 に答える
5272 参照

sorting - yiiカスタム属性で並べ替え

私の休暇モデルVacにはこの機能があります

この関数は、1回の休暇に何日あるかを返します。

そして、次のようにcgridviewにカスタム列を追加したいと思います。

それはうまくいきます。しかし、このカスタム属性をどのように並べ替えることができるかわかりません。CSortを使おうとしましたが、動作しません。何か案が?

0 投票する
1 に答える
458 参照

ruby-on-rails - SinatraとDatamapperを使用した仮想属性

RailsアプリをSinatraに変換しています。アプリケーションは仮想属性をサポートするActiveRecordに依存していましたが、DataMapperで同様のサポートを見つけるのに苦労しています。

Railsでは、アルゴリズムを使用してスコアを生成し、スコアに基づいてレコードを並べ替えました。このプロセスの中心は仮想属性でした。Sinatra / DMでこの機能を複製する方法を知っている人はいますか?

私はどんな回避策にもオープンです。現時点では機能にのみ関心があるため、リファクタリングは後で行うことができます。

理論的には、ソリューションは次のように機能します。

0 投票する
3 に答える
2482 参照

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 モデル コード内で何をする必要がありますか、それとも別の方法で考えるべきですか?

0 投票する
1 に答える
330 参照

ruby-on-rails-3 - Rails 3は、スコープを持つ仮想フィールドのvalidates_uniquess_of

レコードがすでに存在するかどうかを確認するために仮想フィールドで検証を実行する必要があるRails3アプリに取り組んでいます...これが私のモデルコードです:

エラーは発生していません。検証に合格しています。

0 投票する
1 に答える
201 参照

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

ありがとう