最近、ユーザーがグループに参加してグループとやり取りできるサイトの作成が開始されました。これまで私はユーザーのために勉強してきましたが、私はユーザープロファイルやグループプロファイルを作成するために何を使用するのかと不思議に思っています。これは私の最初のレールのアプリケーションであり、私はちょうどここから行く場所についてのいくつかのガイダンスが必要ですか?どんなツールが必要ですか?これを行う最善の方法は何ですか?ユーザーがグループに参加してグループとやりとりできるようなサイトを作成する
答えて
必要なツールは、Railsだけです。まず、アプリケーションに他のモデルを作成する必要があります。あなたの説明から私はUserProfileとグループを見る。 Railsのジェネレータコマンドはあなたのためにそれらをスタブアウトします:
$ rails generate model UserProfile
$ rails generate model Group
$ rails generate model Membership
今、あなたはあなたのアプリケーション/モデルディレクトリにuser_profile.rbとgroup.rbを持っています、だけでなく、デシベル/移行/ でのマイグレーションが .RBを作成します。次に、データベースに作成するフィールドをediting the migration scriptでレールに伝える必要があります。ここにあなたが望むものは自由に含めることができますが、少なくとも外部キーにあなたのデータを関連させたいと思うでしょう。
$ rake db:migrate
そして、あなたは、コード内でそれらの関係を定義するためにActiveRecordのアソシエーションクラスのメソッドを使用することができます。
def CreateUserProfiles < ActiveRecord::Migration
create_table :user_profiles do |t|
t.belongs_to :user
...
と
def CreateMemberships < ActiveRecord::Migration
create_table :memberships
t.belongs_to :user
t.belongs_to :group
...
今、あなたはあなたのためにデータベース表を作成するためにあなたの移行を実行することができますRailsがあなたのためにSQLを処理するようにします。
UserProfile.create(:user => User.first, :attr => "value", ...)
またはグループにユーザーを置くために:
group = Group.create(:name => "Group 1")
group.users << User.first
のツールを使用し、それら
app/models/membership.rb
class Membership < ActiveRecord::Base
belongs_to :user
belongs_to :group
end
app/models/user.rb
class User < ActiveRecord::Base
has_one :user_profile
has_many :memberships
has_many :groups, :through => :memberships
...
end
app/models/group.rb
class Group < ActiveRecord::Base
has_many :memberships
has_many :users, :through => :memberships
end
app/models/user_profile.rb
class UserProfile < ActiveRecord::Base
belongs_to :user
end
は、今あなたがユーザープロファイルを与える必要がある場所ですべてのツールを持っています時間を節約できますが、すべてが最初のRailsに依存するツールを使用する方法を学びます。 Rails Guidesをチェックしてください。優れています。
+1私にそれを打つ。多対多を示す素晴らしい答え:through: –
すごいサムCありがとう。私はこれを試して、それがどうなるかを見てみましょう。 – Yeddie
- 1. mysqlユーザーとグループを作成する[windows]
- 2. SignalRと参加グループ
- 3. ウェブページ内のユーザーとやりとりできるビデオを作成する
- 4. ElasticSearchすることにより、フィルタ、グループとは、各グループ
- 5. グループに参加することによって
- 6. Rでグループを割り当てようとしましたが、NAの値を入力してグループに属する他のグループが見つかりません
- 7. グループ(配布グループ)を作成してメンバーを追加するEWS
- 8. Laravel 5.2のクエリビルダーでクエリを作成するには、グループ参加
- 9. グループと正しくグループ化することができない
- 10. グループで累計して参加する
- 11. グループを作成し、ユーザーをデータベースに保存する必要があります。
- 12. TFSはチームプロジェクトの「お気に入り」やユーザー定義のグループ化を行うことができますか?
- 13. djangoのjinja2では、ユーザーがグループに参加しているかどうかを確認できますか?
- 14. オフィス365グループ(AzureAD)にユーザーを追加しようとしています
- 15. ユーザーとグループ間の結合アクションを正しく作成する
- 16. LINQクエリが参加し、グループ
- 17. OpenLDAPでActive Directoryユーザーとグループを作成するためのLDIF?
- 18. グループに参加キーを追加する
- 19. Powershellがある広告グループから別の広告グループにユーザーをコピーしようとしています
- 20. ASMACK。新しいユーザーを作成して特定のグループに追加する
- 21. 「ユーザーとグループ」にアクセスすることができません
- 22. することができます簡単な構造会社 - グループ - ユーザー - 私は複数の企業を作成できるようにする必要があるサイトを構築する必要があり、各企業は、ユーザーの複数のグループを持つことができた場合にsymfony
- 23. GoogleカレンダーAPIで追加された参加者グループは、UIによって追加されたグループとは異なります。
- 24. ルビー:私はそのようなGROUPEシステムを作成しようと、多くのユーザーを持つグループとワンオーナー
- 25. ejabberdでwhatsappのようなグループを作成するには?
- 26. Linqグループ参加
- 27. グループをフラッシュすることができるようにMemcachedキーをグループ化できますが、合計Memcached
- 28. 参加、グループによると、2つのスキーマ
- 29. SignalRでグループに参加する
- 30. Djangoフレームワークやレール(管理者、モデレータ、ヘルパー、ユーザーなどのグループ)を使用して、グループでWebサイトを構成できますか?
ユーザーとグループの表を事前に入力しようとしていますか?または、サイト訪問者が独自のユーザーアカウントとグループを作成する方法について不思議ですか? – Schwartzie
ユーザーがプロファイルを作成し、グループに参加してグループを編集できるように、コード作成方法がわかります。 – Yeddie