我是第一次在meteor中使用博客和角色,并且我在使用ryw时遇到了几个(和奇怪的)问题:博客和alanning:角色。我使用mrt:accounts-admin-ui-bootstrap-3软件包管理角色。 我现在的主要问题(我将在新线程中发布其他问题)是下一个:
使用ryw:blogs包时,角色看起来不正常。我有2个用户。其中一个是分配了 admin 和 blogAdmin 角色的“超级用户”(此用户可以访问“用户管理区域”)。另一个用户只分配了 blogAuthor角色,但我可以查看和编辑所有帖子,例如blogAdmin用户。 我认为这可能是一些路由问题(我使用铁路由器),因为如果我刷新页面,角色工作正常,我只能看到和编辑自己的帖子。我正在他的github存储库[https://github.com/meteor-blog/example-blog-app][1]中的ryw:blog示例应用程序中创建我的博客 角色工作正常,因为当我使用mrt:accounts-admin-ui-bootstrap-3添加角色时,角色将在用户帐户集合的角色字段中分配(在mongoDB控制台中检查)。 所有的建议都很好!提前谢谢!
这是我的代码
Router.js
Router.configure({
layoutTemplate: 'layout'
});
Router.route('/', function () {
this.render('home');
});
Router.route('/users', function () {
this.render('adminTemplate');
});
服务器/ server.js
Meteor.startup(function () {
// bootstrap the admin user if they exist -- You'll be replacing the id later
if (Meteor.users.findOne("userId"))
Roles.addUsersToRoles("userId", ['admin']);
// create a couple of roles if they don't already exist (THESE ARE NOT NEEDED -- just for the demo)
if(!Meteor.roles.findOne({name: "secret"}))
Roles.createRole("secret");
if(!Meteor.roles.findOne({name: "double-secret"}))
Roles.createRole("double-secret");
});
LIB / blog.js
Blog.config({
adminRole: 'blogAdmin',
authorRole: 'blogAuthor',
title: "Meteor Blog Example",
syntaxHighlighting: true,
syntaxHighlightingTheme: 'github',
blogIndexTemplate: 'blog',
blogShowTemplate: 'show',
comments: {
disqusShortname: 'blogpackage'
},
rss: {
title: 'Example Blog App',
description: 'This is an example application for meteor-blog package'
}
});
的客户机/ home.html做为
<template name="home">
<div class="container">
<p class="lead">
This is an example project using the
<a href="https://github.com/Differential/meteor-blog">Meteor Blog</a> package.
</p>
<p>
{{> blog}}
{{> blogLatest num=5}}
</p>
</div>
</template>
的客户机/ header.html中
<template name="header">
<div class="navbar navbar-default" role="navigation">
<div class="container">
<div class="navbar-header">
<a href="/" class="navbar-brand">Meteor Blog Example</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-left">
<li>
<a href="{{blogPathFor "blogIndex"}}">Blog</a>
</li>
<li>
<a href="{{blogPathFor "blogAdmin"}}">Admin Area (must login)</a>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
{{> loginButtons}}
</ul>
</div>
</div>
</div>
</template>
的客户机/博客
<template name="blog">
<div class="container">
{{> blogIndex}}
</div>
</template>
客户端/显示
<template name="show">
<div class="container">
{{> blogShow}}
</div>
</template>