【发布时间】:2015-03-25 20:10:47
【问题描述】:
这段代码看起来如何?相当可靠和高效?有什么办法可以做得更好吗?
编辑:忘了提一下,在用户点击提交以实际创建帐户之前,我正在检查用户是否填写了注册表单。
模板 HTML:
...
<input id="username">
{{#if usernameTaken}}
<div class="error">Username is taken.</div>
{{/if}}
...
客户:
Template.signupPage.events
'blur #username': (e) ->
username = $(e.target).val()
Meteor.call 'userExists', username, (error, result) ->
Session.set 'usernameTaken', result.exists
Template.signupPage.helpers
usernameTaken: ->
return Session.get('usernameTaken')
服务器:
Meteor.methods
userExists: (username) ->
check username, String
results = Meteor.users.find
username:
$regex: "^#{username}$", $options: 'i'
return { exists: results.count() > 0 }
【问题讨论】:
-
将限制 1 添加到您的
find(或重写您的代码以改用findOne)以提高效率。 -
@PeppeL-G 啊!很好的收获,谢谢!
标签: meteor coffeescript