Rails 活跃管理员审查用户帖子
Rails active admin review user posts
我想让管理员查看描述。因此,无论何时用户发布描述,管理员都可以批准或拒绝它。如果获得批准,它将显示在索引页上。目前用户可以添加说明,但管理员无法对其进行审核。有什么办法可以做到这一点吗?
index.html.erb
<% @posts.each do |post| %>
<p> <%= post.description %> </p>
<% end %>
admin/post.rb
ActiveAdmin.register Post do
permit_params :description
index do
id_column
column :description
end
form do |f|
f.inputs do
f.input :description
end
f.actions
end
end
将新的布尔字段添加到 post 调用,默认值为 false:
class AddReviewedToPosts < ActiveRecord::Migration
def self.up
add_column :posts, :reviewed, :boolean, default: false
end
def self.down
remove_column :posts, :reviewed
end
end
然后在索引页下的 AA 上创建一个按钮,将其设置为已审核:
index do
id_column
column :description
column "" do |post|
link_to 'Mark as reviewed', admin_posts_reviewed_path(post)
end
end
然后最后一件事是在 admin/posts.rb
上创建审核操作:
def reviewed
@post = Post.find(params[:id])
if @post.present?
@post.update_attribute(:reviewed, true)
flash[:notice] = 'Post marked as reviewed'
else
flash[:error] = 'Could not find post'
end
redirect_to admin_posts_path
end
不要忘记将操作添加到 routes.rb!
现在您可以在布尔字段为真时显示它。
代码未经测试,这是我的想法。
我想让管理员查看描述。因此,无论何时用户发布描述,管理员都可以批准或拒绝它。如果获得批准,它将显示在索引页上。目前用户可以添加说明,但管理员无法对其进行审核。有什么办法可以做到这一点吗?
index.html.erb
<% @posts.each do |post| %>
<p> <%= post.description %> </p>
<% end %>
admin/post.rb
ActiveAdmin.register Post do
permit_params :description
index do
id_column
column :description
end
form do |f|
f.inputs do
f.input :description
end
f.actions
end
end
将新的布尔字段添加到 post 调用,默认值为 false:
class AddReviewedToPosts < ActiveRecord::Migration
def self.up
add_column :posts, :reviewed, :boolean, default: false
end
def self.down
remove_column :posts, :reviewed
end
end
然后在索引页下的 AA 上创建一个按钮,将其设置为已审核:
index do
id_column
column :description
column "" do |post|
link_to 'Mark as reviewed', admin_posts_reviewed_path(post)
end
end
然后最后一件事是在 admin/posts.rb
上创建审核操作:
def reviewed
@post = Post.find(params[:id])
if @post.present?
@post.update_attribute(:reviewed, true)
flash[:notice] = 'Post marked as reviewed'
else
flash[:error] = 'Could not find post'
end
redirect_to admin_posts_path
end
不要忘记将操作添加到 routes.rb!
现在您可以在布尔字段为真时显示它。
代码未经测试,这是我的想法。