0

みんな私はこれに完全に夢中になっています...そして、このすべての問題からどのように抜け出すのかまったく理解できません。私は本当に神聖な助け、またはこの問題についてのチュートリアルとガイドについての少なくともいくつかの提案が必要です。

これは多くのアプリで非常に一般的なタスクだと思いますが、この意味で役立つものは何も見つかりません。stackoverflowでも、googleでも、私が知っている他のRailsフォーラムでも...ばかげた!!!

問題

(1)モデル(関係するモデル)

User.rb Item.rb(userにネストされています:例:user / 3 / item / 5)

(2)やりたいこと

current_user(ログインしているユーザー)はアイテムを作成でき、同じフォームで他の多くのユーザーと共有するかどうかを決定できます。

このようにして、アイテムは、共有したこのユーザーにも表示され、アクセスできるようになります。

ここで関係するのは次のとおりです。

(a)has_many:アイテムとユーザー間の関係を介して(b)共有を呼び出すことができる共同テーブル(item_idとuser_idを使用)(c)最終的にユーザーに異なる名前を使用し、:class_nameを使用してユーザーを指す

これを実装するのは難しくありません(そして周りにはたくさんの例があります)。

代わりに、実際に混乱しているのは、コントローラー(アイテムコントローラー)を構築して、1回のショットで実行する方法、新しいアイテムの作成、および共有操作(つまり、ジョイントテーブルにパラメーターを設定することを意味します。最終的には、共有しているユーザーと同じ数のレコードを作成します--array?)

そして、明らかにコントローラーに関連するもう1つの問題は、ビューです...これらすべてを1つのフォームにまとめ、current_userがボタンをクリックするだけで、アイテムの作成と共有操作を実行できるようにする方法はありますか?

最後になりましたが、Userがcurrent_userと同じモデルであるという事実にどのように対処する必要がありますか?

これを機能させるために何を読んだり調べたりする必要があるのか​​本当にわかりません。サンプルコードを見てみたいですが、同時に、これらすべてのロジックを順番に理解したいと思います。他のシナリオでそれを複製できるようにするため。

誰かが私を助けてください...私はこれを行わずに私のアプリ開発を実際に進めることはできません、そしてこれはすべてのプロジェクトの重要な部分でもあります。

私が受けるあらゆる小さな助けに感謝します。

4

1 に答える 1

0

さて、私はすべての問題を解決しました...それは最後には難しい作業ではありませんでした(問題を解決したときにそれを言うのはいつでも簡単です:))

私がまだ持っている唯一の疑問は、レールの命名規則に関するものです。

ジョイントモデルの共有のような名前を使用すると、最終的な-ingがレールによってうまく処理されない可能性がありますか?

問題を解決するために多くの暫定的な作業を行った後、すべてが適切に設定されていること、およびジョイントテーブル名を共有から共有に変更するだけで魔法が機能することを発見しました!!!

于 2012-04-14T22:06:06.823 に答える