在rails中创建像app这样的facebook页面

时间:2017-12-17 13:13:15

标签: ruby-on-rails ruby rubygems

我有一个rails应用程序,用户可以注册并创建帖子,现在我想要实现的是我想给用户创建页面的选项,这些页面将能够创建帖子,我到目前为止所做的事情我是否已生成另一个名为pages的控制器,我通过迁移将用户添加到该页面。

模态之间的关系如下:

user.rb

class User < ActiveRecord::Base
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable,
         :omniauthable, :omniauth_providers => [:facebook, :twitter, :google_oauth2]

         act_as_mentionee

  validates :username, presence: true
  validate :avatar_image_size

  has_many :posts, dependent: :destroy
  has_many :pages, dependent: :destroy
end

pages.rb

class Page < ActiveRecord::Base
    validates :name, :description, :user_id, presence: true
    belongs_to :user
    has_many :posts, dependent: :destroy
    delegate :username, to: :user
end

posts.rb

class Post < ActiveRecord::Base

  act_as_mentioner

  validates :title, :body, :user_id, presence: true

  belongs_to :user
  belongs_to :channel
end

现在我想在页面上添加帖子,我真的不知道该怎么做,我想在页面中添加帖子,以便页面可以创建帖子。

最好的解决方法是什么? 如果你知道某种教程或宝石,请告诉我。

1 个答案:

答案 0 :(得分:0)

首先,您需要为用户模型添加控制器

添加控制器,您可以参考此导轨

http://guides.rubyonrails.org/layouts_and_rendering.html

添加控制器后,您需要在routes.rb中添加路由

resources :users

您需要为控制器中的每个操作添加相应的视图

在用户模型中,您可以添加

:pages和:posts

的嵌套属性

请参阅以下有关嵌套属性的帮助文档

https://apidock.com/rails/ActionView/Helpers/FormHelper/fields_for

希望这个答案能让您对如何进一步了解