我正在为我的用户模型使用 devise,并且在 paths.rb 中我有 devise_for :users
我将如何向用户提供帖子?
是否只是在 route :
resources :users do
resources :posts
end
或者你是否因为设计而必须做一些特别的事情
最佳答案
这些路由将起作用,此外,您需要在模型中设置关系,假设您的 posts 表包含 user_id 作为外键:
class User < ActiveRecord::Base
has_many :posts
has_many :comments
end
class Post < ActiveRecord::Base
belongs_to :user
has_many :comments
end
class Comments < ActiveRecord::Base
belongs_to :user
belongs_to :post
end
编辑
要将外键添加到您的 Post 模型中:
rails g migration add_user_id_to_posts user_id:integer
这将在 db/migrate 文件夹中创建一个迁移文件,如下所示:
class AddUserIdToPosts < ActiveRecord::Migration
def self.up
add_column :posts, :user_id, :integer
end
def self.down
remove_column :posts, :user_id
end
end
然后,您可以使用以下方法将这些更改迁移到数据库: rake 数据库:迁移
关于ruby-on-rails - 如何为 Devise 的用户模型创建关系和关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6686093/