枚举查询不起作用

时间:2016-05-30 03:48:25

标签: ruby-on-rails enums

我有一个带有以下枚举声明的用户模型

 enum access_level: [:general, :marketing, :admin]

只有一个用户是:admin,其余的是:general。 以下工作正确

User.admin.count # returns 1
User.where(access_level: 2).count # returns 1

User.where(access_level: :admin).count # returns 0

而不是1。根据{{​​3}}页User.where(access_level: :admin)应该有效。我不想使用User.where(access_level: 2)因为它不可维护。

1 个答案:

答案 0 :(得分:2)

我的猜测是你使用的rails版本还没有Edge Guides中描述的功能。

4.2 version of the docs未提及var dropArea = document.getElementById("dropArea"); var output = document.getElementById("result"); var ul = output.querySelector("ul"); function dragHandler(event) { event.stopPropagation(); event.preventDefault(); dropArea.className = "area drag"; } function filesDroped(event) { event.stopPropagation(); event.preventDefault(); dropArea.className = "area"; var uploadFile = function(file, path) { // handle file uploading console.log(file, path); var filesInfo = `<li> Name: ${file.name}</br> Size: ${file.size} bytes</br> Type: ${file.type}</br> Modified Date: ${file.lastModifiedDate} </li>`; ul.innerHTML += `${filesInfo}`; }; var iterateFilesAndDirs = function(filesAndDirs, path) { for (var i = 0; i < filesAndDirs.length; i++) { if (typeof filesAndDirs[i].getFilesAndDirectories === 'function') { var path = filesAndDirs[i].path; // this recursion enables deep traversal of directories filesAndDirs[i].getFilesAndDirectories() .then(function(subFilesAndDirs) { // iterate through files and directories in sub-directory iterateFilesAndDirs(subFilesAndDirs, path); }); } else { uploadFile(filesAndDirs[i], path); } } }; if ("getFilesAndDirectories" in event.target) { event.target.getFilesAndDirectories() .then(function(filesAndDirs) { // if directory var dir = filesAndDirs; if (dir[0] && dir[0].constructor.name === "Directory") { console.log(dir); var directoryInfo = `<li> Directory Name: ${dir[0].name}</br> Path: ${dir[0].path} </li>`; ul.innerHTML += `${directoryInfo}`; alert("isDirectory:true"); } iterateFilesAndDirs(dir, "/"); }) } else { // do webkit stuff } } dropArea.addEventListener("dragover", dragHandler); dropArea.addEventListener("change", filesDroped);语法。

根据http://edgeguides.rubyonrails.org/

  

这些是Edge Guides,基于当前的主分支。

如果您需要此功能,请查看此SO答案,以查看How to create Edge rails application?