Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails活动管理员审核用户帖子_Ruby On Rails_Ruby On Rails 4_Activeadmin - Fatal编程技术网

Ruby on rails Rails活动管理员审核用户帖子

Ruby on rails Rails活动管理员审核用户帖子,ruby-on-rails,ruby-on-rails-4,activeadmin,Ruby On Rails,Ruby On Rails 4,Activeadmin,我想让管理员查看描述。因此,每当用户发布描述时,管理员可以批准或拒绝它。如果批准,它将显示在索引页上。目前,用户可以添加描述,但管理员无法查看。我有什么办法可以这样做吗 index.html.erb <% @posts.each do |post| %> <p> <%= post.description %> </p> <% end %> 将新的布尔字段添加到名为Review的post,默认值为false: class AddRe

我想让管理员查看描述。因此,每当用户发布描述时,管理员可以批准或拒绝它。如果批准,它将显示在索引页上。目前,用户可以添加描述,但管理员无法查看。我有什么办法可以这样做吗

index.html.erb

<% @posts.each do |post| %>
  <p> <%= post.description %> </p>
<% end %>

将新的布尔字段添加到名为Review的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
最后一件事是在
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,则可以显示它


代码未经测试,这是我的想法。

添加新的布尔字段到post called Revied,默认值为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
最后一件事是在
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,则可以显示它


代码未经测试,这是我的想法。

谢谢您的回复。在我的路线中,我通过:'post'将“/admin_posts_review”匹配到:'posts#admin_posts_review'。但是我得到了
没有路由匹配[get]“/admin\u post\u review”
错误。你知道为什么吗?考虑使用<代码> BoffcActudio作为“标记评审”的动作。谢谢你的回复。在我的路线中,我通过:'post'将“/admin_posts_review”匹配到:'posts#admin_posts_review'。但是我得到了
没有路由匹配[get]“/admin\u post\u review”
错误。你知道为什么吗?考虑使用<代码> BATCHYActudio< /代码>作为“标记评审”的动作。