- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为我的应用程序使用 IronRouter。最近想打个rest call:
Router.route('/api/hello', { where: 'server' })
.get(function () {
this.response.end('Helo world');
});
我得到了这个异常(exception):
Error: Meteor.userId can only be invoked in method calls. Use this.userId in publish functions. at AccountsServer.userId (accounts_server.js:80:13) at AccountsServer.user (accounts_common.js:53:23) at Object.Meteor.user (accounts_common.js:230:19) at [object Object]. (lib/routes_permission.js:33:21) at packages/iron_router/lib/router.js:277:1 at [object Object]._.extend.withValue (packages/meteor/dynamics_nodejs.js:56:1) at [object Object].hookWithOptions (packages/iron_router/lib/router.js:276:1) at boundNext (packages/iron_middleware-stack/lib/middleware_stack.js:251:1) at runWithEnvironment (packages/meteor/dynamics_nodejs.js:110:1) at packages/meteor/dynamics_nodejs.js:123:1
我在“(lib/routes_permission.js:33:21)”中跟踪了这个问题,似乎一切都很好。
// user with no role
Router.onBeforeAction(function() {
var user = Meteor.user(); //This is the line.
if(user && !user.roles) {
this.render('roles');
return;
}
this.next();
});
我不知道为什么会出现此异常。不过,我的出版物中没有任何 Meteor.userId()。
有什么见解吗?
最佳答案
服务器端路由像 REST 端点一样访问,因此它们没有身份验证的概念(Meteor.user
和 Meteor.userId
会抛出错误) .因为您的 routes_permission.js
文件是在共享目录中定义的,所以它的规则也将被用于服务器路由。关于如何解决这个问题,你有一些选择,但最简单的可能只是用 Meteor.isClient
包装你的 onBeforeAction
,如下所示:
if (Meteor.isClient) {
Router.onBeforeAction(...);
}
关于Meteor.userId 只能在方法调用中调用。 ( meteor 铁路由器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35164369/
这是我的案例。我正在构建一个模板,该模板应该根据我可以通过标识符获取的一些数据来呈现图表。 我将在此处展示的示例是我的代码的简化版本,它完全描述了我的问题。 这是我的 HTML: example
我想知道是否有任何方法可以显示在 iron-autogrow-textarea 中输入的符号数量?如果是的话我该怎么做? 我尝试过这个解决方案。 Javascript函数: countChars: f
我正在使用 iron:router 包开发 meteor 。我的 javascript 文件包含: Router.route('/', function () { this.render('hom
我正在尝试使用iron:router 来实现页面之间的转换。我在 css 中定义了动画,现在我需要的就是用iron:router 调用它们。由于某种原因,以下代码: animateContentOut
我们实现了一种布局,主要内容位于动态侧边栏中。我们定义了以下 layoutTemplate: {{> content}} {{> leftbar}} {{> rightbar}}
我在学习 meteor 0.8.3并尝试使用 iron-router 设置一些基本路由 我的 smart.json包含: { packages: { iron-router: {
你好,我在index.html中有这个: 我的 test2 元素是: add
我想在当前的不同路线上添加类。 我的脚本: Template.layout.rendered({ rowClass: function() { var blockGridCon
我想在客户端上呈现两种不同的布局。 Router.route('/', { template: 'register', layoutTemplate: 'home' }); Rout
当您在 iron:router 中为 meteor 创建通配符 URL 时,pathFor 模板助手以及 Router.go 和 Router.routes[routeName].path() 似乎已
如何使Iron:router重新渲染模板? 我有这个HTML: list find {{> yield}} list 和这个js: Router.configure({
我在使用 Router.go() 函数时遇到问题。我有一个表格,当它提交时,它应该将我路由到测验页面。目前它会执行此操作,但它会立即带我返回表单所在的主模板。我离开 Meteor 几个月了,所以我毫不
我遇到了这个奇怪的错误: “找不到名为‘loading’或‘loading’的模板。你确定你定义了它吗?” 就像Iron router: Error: Couldn't find a template
我的困境是我想将多个对象属性传递给 Meteor 中的 iron:router 路由。原因是我想向它传递一个属性来命名我的 url 和一个属性来查找一个集合项。它们彼此完全独立,我不能使用 url 属
我正在使用 Meteor 编写一个应用程序,它需要从 POST 请求中获取数据并在同一路径上呈现成功页面。这是我当前的/submit 路线代码: Router.route('/submit', fun
出于某种原因,我的data: function... 总是返回undefined。 这是我的服务器代码: Flyers = new Mongo.Collection('flyers'); Meteor
我最近在将输入元素的数据绑定(bind)到 iron-ajax 的“body”属性时遇到了问题。当我在 polymer 0.5 上使用 core-ajax 时,我可以像这样轻松地绑定(bind)值:
我是一名优秀的程序员,十分优秀!