如何添加用户数据限制或批准

7 浏览
0 Comments

如何添加用户数据限制或批准

我正在寻找一个最佳的方法来建立我正在进行的一个网络项目。

我的网站要求用户和非用户输入他们所在城镇的本地位置的信息。我不想将这限制只给用户。我有一个表单来收集关于他们所在州和城市的信息,以及关于他们所在位置的细节。我想在将这些信息发布到网站之前先进行批准。

如何处理这些信息是最好的方式?Rails有没有一个很好的解决方案让我在发布之前批准这些信息?

我需要一种方法在列表页面显示之前限制数据/列表。

0
0 Comments

如何添加用户数据限制或审批

在模型中使用一个标志属性,最好是状态(status)来指示是否已批准。默认情况下,当用户添加数据时,它应该是false。您可以手动将其更新为true,使该数据生效。

例如,假设您正在添加一个列表,它不会出现在您的列表页面上,因为默认情况下它是未批准的。您应该像这样编写您的列表控制器:

Listing.where("status is not false")

您的控制器创建方法应该包含以下代码,以确保每个列表在添加时默认不被批准:

def create
  listing.status = false
  listing.save
end

或者您可以使用迁移并将默认值添加到状态(status)中。

您可以检查它并在自己的批准控制器中进行更改,或者使用一个管理面板 gem,例如 RailsAdmin。

谢谢!如果我理解正确,我将用户提交的数据添加到数据库中,但确保所有数据的状态都是false。将状态为true的列表设为发布状态。然后我可以使用RailsAdmin gem来审查提交的数据。

谢谢!我会查看RailsAdmin并从那里开始,并调整我的位置表。

完成了,我相信我已经完成了。对于这一切我都是新手。感谢您的建议!

0
0 Comments

如何添加用户数据限制或审批?

这是一个非常普遍的问题,不仅涉及简单的Rails操作,还取决于你对“批准这些信息”的理解。作为管理员,你是想确保信息是有效的(例如,用户没有在电话号码字段中输入一堆随机字符),还是需要确保信息本身是可接受的(例如,用户没有在文本框中输入一堆粗俗言论)?

对于第一部分,你可以使用Active Record Validations来确保数据本身是正确的(例如,验证电话号码是否由数字组成)。

对于第二部分,你需要跟踪是否要在网站上显示该信息。我不知道你设置了什么数据模型,但假设用户提交的全部内容称为“review”。

要跟踪是否应显示此评论,你需要在“Review”模型中添加一个“approved”属性。你可以通过Active Record Migration实现这一点。当创建一个新评论时,“approved”默认应为“false”。一旦你准备好显示这个新评论,你可以将“approved”设置为“true”。

你可以通过几个控制器操作来完成所有这些。假设你的个人用户帐户上有一个“admin”标志,以便你可以批准评论。如果是这样,你可以设置一个控制器,如下所示:

class ReviewController < ActionController::Base
  def index
    if current_user.admin
      # 允许自己查看所有评论,可能还有一个“批准”按钮
      @reviews = Review.all
    else
      # 仅允许普通用户查看已批准的评论
      @reviews = Review.where(approved: true)
    end
    # 根据需要渲染评论
  end
  def update
    @review = Review.find(params[:id])
    if params[:approved] && current_user.admin
      # 单击批准按钮,并且你是管理员
      @review.update_attribute(:approved, true)
    end
    # 在此响应请求
    # 注意,肯定有更简洁的方法来做这个,但我想演示你可以设置批准标志的地方
  end
end

谢谢!我的意思是要确保信息与网站相关,确保不含亵渎或机器人创建的内容,或者可能是恶意的。

你的代码帮助树立了一个示例。市面上有很多gems,老实说,虽然我还在学习,但我想以简单的方式自己做这个。你展示的内容看起来很简单和基础。谢谢。

没问题!我以前使用过各种管理型的gems,但如果你正在学习,我强烈推荐从头开始编写,直到它变得自然而然。

至于在我的个人用户上有一个管理员标志,我有一个称为“role”的子表,其中有一个布尔值代表管理员。我认为这应该可以工作,但在用户表上直接拥有这个标志会更好吗?

这取决于你对应用程序的发展方向。如果将有许多不同的用户角色,并且这些不同的用户角色具有明显不同的行为,那么拥有一个“role”表是一个很好的计划。然而,如果你只有两个角色(管理员或普通用户),那么将该标志移动到“user”表本身可能是一个更好的选择。

0