問題タブ [models]
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.
asp.net - ASP.NET MVCの「モデル」ディレクトリ:何に適していますか?
デフォルトのASP.NETMVCプロジェクトは、これまでに取り組んだ少数のMVCプロジェクトで使用したことがあるかどうかわからない「Models」ディレクトリを設定します。通常、私はビジネスロジッククラスを格納する別の「ライブラリ」プロジェクトを持っています。
今、私は興味 があります。デフォルトのASP.NET "Models"ディレクトリを利用しないことで、何か大きなものが欠けているのでしょうか。 これをうまく利用する組み込み機能はありますか?
python - ManyToManyフィールドを持つdjangoモデルオブジェクトの差分
DB の何かが変更されたときに一部のユーザーに通知する必要がある状況があります。私の考えは、何らかの種類の差分をキャッチpre_save
して通知し、それをメールで送信することです。post_save
通常はうまく機能しますが、m2m フィールドの差分を取得する方法がわかりません。
現時点では、次のようなものがあります。
Diff 関数はすべてのモデルで機能するはずです (現時点では 4 つのモデル クラスがあります)。deepcopy を使用すると、古いモデルを保存できますが、m2m フィールドは別のテーブルにあるため、保存する方法がわかりません (はい、このデータを取得できることはわかっていますが、実行の瞬間にはどのフィールドかわかりません) m2m であり、モデルごとに異なるスロットを作成したくありません)。私が望むのは一般的な解決策であるため、通知部分について考えずに後でモデルを追加することができます。
私の計画は、スロットが生成した差分を消去するために、ビューの後にget_data()
関数clear_data()
を呼び出すことです。save()
これはこれを行う良い方法ですか?より良い方法はありますか?私のためにこの仕事をすることができるdjangoアプリケーションはありますか?
すみません、英語は私の母国語ではありません。
ruby-on-rails - Collection_select の問題
更新: 解決しました。ありがとう、ビジーマーク!
編集:これは、BushyMark からの以下の回答に基づいて改訂されています。提案されたすべての変更を正しく行ったと思いますが、ユーザーがメッセージを送信したときに post_type_id をデータベースに保存することはまだできません。
私のアプリにはプロフィール ページがあります。プロフィール ページで、ページの所有者は更新を入力して [送信] をクリックできます。更新メッセージは、ページをリロードせずに表示されます (つまり、Ajax)。
基本的には、Twitter のホームページのように見えます。しかし、ユーザーが更新を入力するときに選択するメッセージ「タイプ」もあります。メッセージ タイプは、事前入力されたリストです。これをモデルにして、シード データとしてアプリに読み込みます。
つまり、プロファイル モデル、ポスト モデル、およびポスト タイプ モデルがあります。
profile has_many :posts
post belongs_to :post_type
post_type has_many :posts
ポストモデルにはこれもあります:attr_accessible :message, :post_type_id
Routes.rb は次のようになります:
map.resources :users, :has_one => :profile, :has_many => :posts
map.resources :post_types
投稿コントローラーには、投稿を作成するための次のメソッドがあります。
これがすべて発生するプロファイル ページの「表示」ビューは、次のようになります。
それが背景です。これが問題です。私の現在のセットアップでは、ユーザーがメッセージを送信すると、メッセージは投稿データベース テーブルに送信されますが、post_id は送信されません。
私のselectタグは次のようにレンダリングされています:
<select id="post_post_type_id" name="post[post_type_id]"><option value="">Please select</option>
これは、投稿を送信したときにログに出力される出力です:
Processing PostsController#create (for IP at 2009-09-03 03:03:08) [POST]
Parameters: {"message"=>"This is another test.", "commit"=>"Update", "action"=>"create", "authenticity_token"=>"redacted", "post"=>{"post_type_id"=>"3"}, "controller"=>"posts", "user_id"=>"1"}
User Load (0.3ms) SELECT * FROM "users" WHERE ("users"."id" = 1)
Profile Load (0.7ms) SELECT * FROM "profiles" WHERE ("profiles".user_id = 1) LIMIT 1
Post Create (0.5ms) INSERT INTO "posts" ("message", "updated_at", "post_type_id", "profile_id", "created_at") VALUES('Hello', '2009-09-03 20:40:24', NULL, 1, '2009-09-03 20:40:24')
BushyMark のコメントに従って更新された私のスキーマの関連部分は次のとおりです。
google-app-engine - キーの ListProperty と App Engine の多対多
架空の例として、モデル TodoItem とモデル TodoList があります。TodoList には TodoItem の順序付きリストがあり、任意の TodoItem は任意の数の TodoList (多対多) に属することができます。TodoList 内の TodoItem の順序以外に、それらの関係について他の情報を保存する必要はありません。これをデータ ストアで表現する最良の方法は何ですか?
これを実装するには 2 つの方法があります - TodoList クラスに TodoItem を参照する db.Key の ListProperty を与えます。
または、注文情報も含む ListItem モデルを作成します。
モデルを非正規化することで後でこれを最適化することは間違いありませんが、事前最適化では、1 つの表現が他の表現よりも優れていますか?
ruby-on-rails - ひねりを加えたわかりやすい URL の質問
ユーザー モデルとプロファイル モデルがあります。
user has_one :profile
profile belongs_to :user
この関係があるため、ユーザー ID を呼び出してプロファイルを取得します。したがって、私の URL は次のようになります: website.com/users/[user_id]/profile
私の問題の解決策があるかどうかはわかりません。ここにあります: SEO フレンドリーな URL を表示したいと思います。私はfriendly_id
これに使用することを検討しています。しかし、私たちのプロファイルは企業向けであり、URL に入力したいのは企業名です。問題は、ユーザー モデルが意図的にビジネス名を要求しないことであり、user_id
現在 URL に表示されているのはそれです。
プロファイル モデル (つまり、@profile.name) からビジネス名を取得し、それを使用して URL の [user_id] 部分を設定する方法はありますか?
更新: Friendly_id ジェムをセットアップしましたが、これでうまくいくようです。私のプロファイルモデルには、これがあります:has_friendly_id :name, :use_slug => true
プロファイルを更新したときに、プロファイルfriendly_id
のビジネス名を URL の一部に挿入して、URL をスラッグ化しましたuser_id
。しかし、もちろん、これは例外をスローしました。
したがって、プロファイル モデルのビジネス名が Mike's Bar の場合、URL は /users/mike-s-bar/profile になります。例外には次のように書かれています: でユーザーが見つかりませんでしたID=mike-s-bar.
これが私のプロファイルコントローラーです:
これを機能させる方法はありますか?
django - django ManyToManyのクエリ
私は持っている
Foo
<=> FooGroup
<=>Bar
ここで<=>
、ManyToMany フィールドを表します。
Foo
特定のBar
インスタンスのすべての を取得するにはどうすればよいですか?
c# - 複合アプリケーション ガイダンス (PRISM) とモデル
ソリューション/プロジェクトのどこに、データ アクセス レイヤーのモデルを配置する必要がありますか。たとえば、データベース内の Users テーブルを使用する必要があるログイン モジュールがあり、User.cs モデルがあるとします。そのファイルはどこに行きますか。他のモジュールが情報を得るためにこの User.cs にアクセスできる必要がある場合、それをモジュールに入れることはできません。しかし、これがどのように疎結合のままでいられるのか、私にはわかりません。
c# - ASP.NET MVC - C# を使用して、別のアセンブリを参照するモデルをコントローラーからビューに渡す
2 つのアセンブリがあるとします。
project.web
project.lib
project.web アセンブリは、いくつかのビジネス ロジックを含む project.lib を参照します。project.lib の単純なクラス:
project.web.Controllers で:
これは私がいくつか質問がある部分です。多くのサンプル プロジェクトで、ビュー (この場合は Index.aspx) で次のことを確認しました。
Model オブジェクトを次のように使用できるようにします。
私はそれを例のように機能させていません。私はしなければなりませんでした:
また
なぜこのようになるのでしょうか。この厳しさの理由は何ですか?コメント? 提案?私のクラス定義は次のようになります。
ruby-on-rails - なぜattr_accessorはRubyonRailsでこのモデルの既存の変数を壊してしまうのですか?
私は最近これに噛まれました、そしてこれを起こさせるために何が起こっているのかを正確に知ることは役に立つでしょう、それで他の人はこの間違いを避けます。
次のようなスキーマを持つモデルUserがあります。
クラスuser.rbには、次の3つのメソッド用のattr_accessorがあります。
次の方法がある場合、ユーザーコントローラーで次のようになります。
このparamsハッシュの内容で新しいユーザーを作成しようとすると:
country
返されるオブジェクトには、のように、town
および郵便番号のpostcode
値に空の文字列が含まれています。
attr_accessorメソッドがActiveRecordの既存のアクセサーメソッドを覆い隠していることがわかります。なぜなら、それらを取り出すとすべて正常に機能するため、解決策はかなり簡単です。それらを取り出すだけです。
しかし、ここで何が起こっているのでしょうか?
私はここActiveRecordのRailsAPIドキュメントとRuby自身のドキュメントattr_accessor
を探していますが、ここでどのように問題が発生しているかについてはまだ少しぼんやりしてattr_accessor
います。
他の貧しい魂がこれに反するのを防ぐために光を当てることができる人はいますか?
php - Doctrine ORM: 大文字と小文字を区別しないモデル
UserDegree という名前の mysql データベース テーブルがあります。Doctrine を使用して PHP にインポートしようとすると、モデル名 Userdegree が生成されます。これを解決する方法はありますか?
私は本当に良い教義のドキュメントを見つけることができません.
ありがとう!