問題タブ [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 - Railsで仮想属性の一意の:groupを取得するにはどうすればよいですか?
私はいくつかの同様のモデルContactEmail、ContactLetterなどを持っています。
それぞれbelongs_to
が連絡先
それぞれbelongs_to
が会社に連絡する
それで、私がしたことは、ContactEmailの仮想属性を作成することでした。
質問:ContactEmailsオブジェクトのセットがある場合(たとえば、find(:all)メソッドから)、すべてのcompany_nameの簡単なリスト(重複なし)を取得するにはどうすればよいですか?
たとえば、統計gemを使用してContactEmail.company_nameを検索しようとすると、company_nameがContactEmailの列ではないというエラーが表示されます。
sql - 仮想属性に基づいてカウントできますか?
次のエラーがあります:
モデルContactEmailには、company_name列がありません。仮想属性として作成しました。
その情報に基づいて選択することはできませんか?では、どうすればいいですか?
ContactEmailbelongs_to会社に属する連絡先。
ruby-on-rails - 日付付きの仮想属性
簡略化したいフォームがあります。開始日と終了日を記録していますが、開始日と日数のドロップダウンのみをユーザーに表示したいと思います。
しかし、モデルに問題があり、正しく保存しています。
最初の部分は機能します。
私がしなければならない問題は、終了日が開始日+それ自体が仮想属性であるno_daysに基づいているという事実に関係しています。2番目の部分をafter_validationコールバックとして実行しようとしましたが、機能していないようです。
ruby-on-rails - after_initialize仮想属性
after_initializeメソッドで仮想属性に値を割り当てることができません。
私のビューファイル:
これは出力を返しません。
仮想属性のデフォルト値を設定するための提案や代替案はありますか?
ruby-on-rails - ビュー内の仮想属性の更新値がモデルを更新していません
ビューの仮想属性の値を更新していますが、これはモデルインスタンスに反映されていません。
例えば:
MyModel.erb
View.html.erb
ビューの出力:
ただし、ページをリロードすると、同じ出力が表示されます。
上記の動作が編集フォームに表示されています。フォームを(検証エラー付きで)送信すると、リロード(エラーの表示)されますが、hello_worldの値が更新されません。
何か提案はありますか? 目的の動作を実現するにはどうすればよいですか?
ruby-on-rails - find_or_create_byで名前付きスコープを使用する
私はこれを理解するのにしばらく時間を費やしましたが、他の人が投稿するのを見たことがないので、おそらくこれは誰かを助けるでしょう。また、Railsの経験があまりないので、修正や提案をいただければ幸いですが、以下のコードはうまく機能しているようです。
Railscast on virtual attributeで説明されているように、first_nameとlast_nameからfull_nameを作成するように仮想属性を設定しました。full_nameでも検索したかったので、ここでJimの回答に示されているようにnamed_scopeを追加しました。
しかし...私はこれらすべてを:find_or_create_by_full_nameとして使用できるようにしたかったのです。その名前で名前付きスコープを作成すると、検索のみが提供されます(上記の:find_by_full_nameコードと同じです)。つまり、私が望むことを実行しません。したがって、これを処理するために、Userクラスのクラスメソッド:find_or_create_by_full_nameを作成しました。
ruby-on-rails - rails 3は、複数のフィールドに基づいて検索または作成します
notesオブジェクトのタグ仮想属性を使用して単純なタグ付けシステムを実装しようとしています。タグには、ラベルとuser_idが含まれます。私がやりたいのは、タグフィールドの内容に基づいて、メモとの関係にHABTMを更新することです。find_or_create_by_Xメソッドについて知っていますが、2つのフィールドで同じようなことができますか。つまり、labelとuser_idが一意の場合は新しいタグを作成し、そうでない場合はラベルとユーザーIDが一致するタグを取得します。また、タグの削除を処理する同様の方法はありますか?
ruby-on-rails - Rails-フォームヘルパーの仮想属性
フォームヘルパーの仮想属性で奇妙なエラーが発生しています。
私のモデルは次のようになります。
私はHAMLとSimpleFormを使用しています。このようにフォームを使うと...
...それは完璧に動作します。しかし、私がそのように仮想属性にアクセスしようとすると...
...このエラーが発生します:
助言がありますか?
ruby-on-rails - このための最良のRailsコンベンションは何ですか?
別のリソース(コメントやタグなど)のビュー内に完全に作成および表示されるリソースがあるとします。それでもそれを独自のリソースにする必要がありますか、それともネストされたリソースにする方がよいでしょうか?また、仮想属性を利用する必要がありますか?
私はこの質問が一般的であることを知っていますが、私は特定の答えを探しているのではなく、それぞれのテクニックがいつ好まれるのかについての一般的な説明だけです。
ruby-on-rails - 複数の仮想属性に同一の getter/setter コードを使用しています - eval でリファクタリングできますか?
仮想属性のカスタマイズされた getter メソッドと setter メソッドを作成して、データベースに格納するために小数を整数に変換しました。これは、データベース内の実際の属性 (annual_fee) から取得/設定する 3 つの仮想属性 (annual_fee_dollars) の 1 つです。
このすべてのコードを 3 回繰り返す代わりに、次のようにコードをリファクタリングするのは理にかなっていますか / 安全ですか / 'Rails Way' ですか:
または、このタイプの機能を構築するためのよりクリーンな方法はありますか?
これが「主観的な質問」である場合は申し訳ありません。部分的には、すべてのリファクタリングの質問にはある程度の主観がありますが、この質問はまだSOにあると思います. これについて修正されてうれしいです。
乾杯!