我想让管理员查看说明。因此,每当用户发布描述时,管理员可以批准或拒绝它。如果获得批准,它将显示在索引页面上。目前,用户可以添加说明,但管理员无法对其进行审核。我有什么方法可以做到这一点吗?
index.html.erb
<% @posts.each do |post| %>
<p> <%= post.description %> </p>
<% end %>
管理员/ 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
答案 0 :(得分:0)
添加新的布尔字段以发布名为review的发布,默认值为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!
现在,如果布尔字段为true,则可以显示它。
代码未经过我的测试。