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

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

ruby-on-rails - Railsモデル参照の質問

コードはすべてをクリアすると思います。result_home を 1 つのクランに参照し、result_away を別のクランに参照する必要があります。そうするための最良の方法は何ですか?has_and_belongs_to_many を作成できましたが、この場合は良い方法ではないと思います。

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

ruby-on-rails - データベースの status-column の Rails、文字列または整数値

ステータス属性を持つイベントモデルを持っていますが、それを文字列または整数フィールドにする必要があるかどうか疑問に思っています。イベントには、「収集中」、「アクティブ」、「クローズ」の 3 つの異なるステータスがあります。整数ソリューションを使用する必要がある場合は、「2」の代わりに CLOSED を使用できるようにする定数をどこかに定義する必要があります (そして、この定数をどこに配置する必要がありますか??)

前もって感謝します!

0 投票する
4 に答える
329 参照

ruby-on-rails - このタグへのリンクが正しいモデルにリンクしていないのはなぜですか?

それで、1時間髪を抜いた後、これをここに投稿することにしました. 次のエラーが表示されます。

user_path(article.user) %>

記事の作成ユーザーにリンクしようとすると。私のルートファイル:

記事モデル ファイルに belongs_to :user があり、ユーザー モデル ファイルに has_many :articles があります。このリンクを使用して、記事内の著者のプロフィールにリンクしています。

助けてください!私は権限管理にcan canを使用し、認証にdeviseを使用していますが、記事のshowアクション内でエラーがスローされるため、そのコードは投稿しませんでした。すべきかどうか教えてください。ありがとう!

@ジェイコブ

同じエラーが表示されます:

記事の NoMethodError#show

/home/leon/sites/VIS/app/views/articles/_article.html.erb を表示して、3 行目が発生しました:

undefined method `user_path' for #<#:0x7fdd82217a98> 抽出されたソース (行 #3 付近):

1: 2: 作成者
3: <%= link_to "#{@article.user.penname}'s profile", article.user %> 4: 以前のバージョン 5: バージョン 7

6: <%= image_tag "add-to-favorites.png", :class => "お気に入りボタン" %>

私のルートの関連部分:

あはは!user#show のルートはありませんが、理由がわかりません。

app/controllers フォルダーにあります。ユーザーコントローラーを app/controllers/devise に移動し、アプリケーションコントローラーの代わりにデバイスでオーバーロードする必要がありますか?

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

ruby-on-rails - あるモデルを別のコントローラーから編集するにはどうすればよいですか?

ユーザーとグループの2つのモデルがあります。ユーザーhas_oneグループおよびグループhas_manyユーザー。

私には管理者の役割があり、グループからユーザーを削除できるようにしたいカンカン能力クラスのグループ管理者の役割があります。

コントローラーのshowmembersビューには、ビューアーが管理者またはグループ管理者の場合、リスト内のユーザーの横に削除ボタンを追加するifステートメントがあります。

私が得るエラーは次のとおりです。

0 投票する
2 に答える
551 参照

ruby-on-rails - モデルの変更を防ぐにはどうすればよいですか?

現在のプロジェクトではBox、オンライン ストアのアイテムを格納するというモデルがあります。ボックスはPackage(価格、支払い条件などを定義する) に属し、ボックスに含まれる製品と追加のオファーを保持する多くItemのオブジェクトがあります。 顧客が箱に製品と追加のオファーを入れてチェックアウトに進むと、クラスの新しいオブジェクトが作成され、そのアイテムを含む への参照が作成されます。ExtraItem
PurchaseBox

AにはtotalPurchaseという名前の属性があり、(before_validation フックで) アイテムを含むボックスから合計金額を取得し、製品の価格が変わった場合でも支払った合計を記録します。気になるのは、購入が確定して作成された後でも、そのボックスに属するボックスが変更される可能性があり (アイテムの追加/削除が可能)、購入時の現実を反映していない記録が作成されることです。

ボックスへの変更を防ぐために、 after_initialize および initialize メソッドをフックして、ロックされた属性がtrueに設定されている場合に特定の属性変更メソッドが呼び出されないようにするメソッドを作成しました。次のように機能します。

基本的に関連付けを凍結し (ボックスには多くのitemextraitems、およびgarrisonsがあります)、特定のメソッドを再定義して、呼び出されたときに LockedBoxError 例外を発生させます。

これは意図したとおりに機能しているように見えるので、このアプローチが予期しない動作を引き起こす可能性があることを本当に心配しており、メソッドをオーバーライドする必要なく同じ効果を達成する方法を探しています!

皆さんは、私がこれを行うことができる方法を知っていますか? あなたの助けに本当に感謝します!:)

0 投票する
2 に答える
185 参照

ruby-on-rails - rails3モデルの質問

私はphpからrails3に移行しましたが、それでも良い決断だったと思います。とにかく私はいくつかのモデルを持っています:

ユーザー向けモデル:

質問のモデル:

回答のモデル:

投票のモデル:

さて、私の質問です。ユーザーが回答に投票したら、そのユーザーとその特定の質問への投票を終了する必要があります...

プロジェクトの残りの部分では、ユーザーと承認にdeviseとcancanを使用しています...

私の見解では、次のようになります。

次に、投票ボタンをレンダリングするスクリプトを実行します...

私の投票モデルでは、answer_idとuser_idがあり、current_user.idと現在のquestion.idがわかっているので、vote.user_idに現在のquestion.idにあるvote.answer_idがある場合、ボタン作成スクリプト...aarghhしかし、これを機能させる方法...?

よろしくお願いします!そしてよろしく、Thijs

0 投票する
2 に答える
110 参照

ruby - rails3でのクエリ

私が最近尋ねた別の質問では、私は本当に良い答えを得て、コードは機能しました...しかし、なぜそれが機能するのか正確にはわかりません...今、私は同様の問題を抱えていますが、それを解決する方法がわかりません。 。?

私が持っているもの:

モデル

ユーザー向けモデル:

質問のモデル:

回答のモデル:

投票のモデル:

私の質問ビューでは、current_usedがその特定の回答に投票したときに、テキストを太字にしたいです。だから私はこれをどのように終えるのですか?

Thijs

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

ruby-on-rails - Rails あるモデルのデータを別のモデルのコントローラーから更新する

私は、billing_id を持つ User モデルを持っています。ユーザーモデルのbilling_id列に保存したい請求IDを返す支払いゲートウェイでトランザクションを実行する注文モデルがあります。MVC アーキテクチャの基本が混同されていると思います。

私は、UsersController と OrdersController がそれぞれのテーブルのデータを更新するという印象を受けています。請求IDなどのOrdersControllerから何かが返された場合、その請求IDをUserモデルのbilling_id列に保存する方法は他にないということですか? これが非常に初歩的なものである場合は、ありがとうございます。:)

また、可能な解決策は、ApplicationsControllerを介してUsersControllerに戻り値を渡し、Userテーブルに保存することであると考えました。これは可能ですか?

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

ruby-on-rails-3 - ActiveRecord モデルの新規作成/作成のカスタム戻り値

Photo.new @image => @image/を呼び出すとPhoto.create :image => @image、モデルが同じ画像ハッシュを持つ既存の写真を検索するか、@image から新しい写真を作成するモデル (写真) があります。Photo.find_or_initialize_by_hashソフト画像ハッシュに基づいて画像の近いコピーを見つけるカスタム検索機能があるため、使用できないと仮定します。

私の最初のアイデアは、

残念ながら、モデル内で self を再定義することはできないことに気付いたので、戻り値を初期化から複製に変更する方法に沿って何かを行うのが最善の方法だと思います。

このようなものですが、機能しません(初期化のオーバーライドに関する恐ろしい話を聞いたことがあります)

0 投票する
2 に答える
1775 参照

ruby-on-rails - Rails-アソシエーションの所有者を取得する

おい。私はRailsから始めていますが、私の質問は非常に簡単だと思います。私は2つのモデルを持っています:

showメソッドで本の所有者を取得しようとしていますが、IDがないと所有者が見つからないと言っています。

私のコントローラーには:

そして私の見解:

ありがとう!