Vas*_*rth 2 ruby-on-rails relational-database devise
我正在使用设计我的用户模型和routes.rb我有devise_for :users
如何给用户发帖?
它只是在路线中:
resources :users do
resources :posts
end
Run Code Online (Sandbox Code Playgroud)
或者你必须做一些特殊的设计
这些路由将起作用,另外您需要在模型中设置关系,假设您的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
Run Code Online (Sandbox Code Playgroud)
编辑
要将外键添加到Post模型:
rails g migration add_user_id_to_posts user_id:integer
Run Code Online (Sandbox Code Playgroud)
这将在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
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用以下命令将这些更改迁移到数据库:rake db:migrate