我有一个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
现在我想在页面上添加帖子,我真的不知道该怎么做,我想在页面中添加帖子,以便页面可以创建帖子。
最好的解决方法是什么? 如果你知道某种教程或宝石,请告诉我。
答案 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
希望这个答案能让您对如何进一步了解