0

我正在使用此处描述的 HABTM 复选框:

http://railscasts.com/episodes/17-habtm-checkboxes

问题不是所有类别都可用于项目,但使用此方法,用户可以检查浏览器中的代码,并在提交之前更改类别 ID。

我怎样才能防止这种利用?我看到的唯一选择是暴力循环遍历所有类别 ID,同时将它们与有效类别 ID 列表进行比较,并拒绝那些不匹配的。

谢谢

4

1 回答 1

1

我建议为您的Project模型添加验证。它应该检查分配给项目的类别是否可以分配给该项目。然后控制器可以向用户显示验证错误。

class Project < ActiveRecord::Base
  validates :categories_are_available

  private

  def categories_are_available
    # code that checks available categories
  end
end
于 2013-11-11T16:01:13.157 回答