问题标签 [discourse]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 将 Discourse SSO 与现有 Rails 站点与 Devise 相结合
我有一个现有的 Rails 应用程序,它使用设计作为用户身份验证。我添加了一个讨论论坛,一切都很顺利,它位于一个子域中。我已经阅读了https://meta.discourse.org/t/official-single-sign-on-for-discourse/13045上的帖子,但是一旦用户登录,我仍然不知道如何处理设计方面的事情在现有的铁路站点上。目前这是我理解的过程:
Step1:用户在子域上点击 Discourse 论坛。用户需要登录,所以点击登录按钮。
Step2:用户被发送到现有Rails站点的登录页面。
Step3:用户登录rails网站。
Step4:用户应该被重定向到登录的话语论坛子域。
我的问题是 - 我需要做什么才能使用户在第 3 步登录时被重定向回子域?有没有人成功地实现了这一点?我在那个演练页面上看到了这个代码片段:
这是我需要在现有的 Rails 应用程序中添加的内容吗?我猜解析会检查该信息是否在 url 中,如果是,它会在完成设计登录过程后重定向,如果不是,它只会像往常一样运行。我会将此代码放在设计文件中的某个位置吗?
windows - 尝试在 Windows 上捆绑 fast_stack 时出错
我试图了解如何修复错误:
当我为在 Helicon Zoo 环境中安装的 discourse.org 应用程序编写“捆绑安装”命令时,就会发生这种情况。
linux - 混乱的 Docker 环境
我的 Docker 环境有点混乱。让我从头开始,我有一个全新安装的 Ubuntu 12.04 硬件盒,专门用于运行 GitLab。
现在,由于它有相当不错的 CPU 和大量可用 RAM,我考虑安装 Docker 并建立一个 Discourse 论坛来替代我当前的 Vanilla 论坛。我开始并刚刚做了一个aptitude install docker.io
并从 Ubuntu PPA 中提取了最新的可用 Docker 包。
然后我查看了 Docker 安装文档,发现他们使用了不同的安装方式。我想“好吧,最好使用相同的方式来正确安装 Docker”。所以我只是去了wget -qO- https://get.docker.io/ | sh
,但忘了先清除旧的安装。
但是,我继续安装 Discourse,并且在容器的自动启动方面遇到了一些问题。每当主机系统启动时,容器确实会启动,但它们的连接性有限。例如:我无法重建图像,因为它显然无法解析github.com
:
另一个问题是容器不能通过 SMTP (mandrillapp.com) 发送邮件。所以我挖了一点,不知何故有了用 重启 Docker 的想法service docker restart
,瞧:问题消失了。DNS 工作以及邮件将再次成功发送。
所以基本上当主机重新启动时,我必须service docker restart
让 Docker 完全正常工作。
我已经找到了一些无效的初始化脚本,但只有一个:
有人可以帮我吗?
linux - 自 Docker/Discourse 安装以来,GitLab 不再工作
我曾经在我的硬件服务器(Ubuntu 14.04)上有一个始终更新的 GitLab 实例。
但是,我最近决定安装 Discourse(或和 Docker),现在 GitLab 无法正常启动了。
当我运行该服务时,sidekiq 进程启动但独角兽工作人员没有启动:
不,Docker 不会尝试绑定 GitLab 使用的端口:
Nginx 正在运行,但只显示:
“502 - GitLab 没有响应。”
有人可以帮我吗?
提前致谢。
linux - 在 Amazon Linux AMI 版本 2014.03 上安装 docker 1.2
我正在尝试在 Amazon Linux AMI 版本 2014.03 上安装话语论坛。要安装该论坛,我应该使用 docker 1.2 或更高版本,但是当我输入“yum install docker”时,我会从亚马逊获得 1.1.2-1.0.amzn1 版本。那么如何从https://github.com/docker/docker下载并安装最新版本?
ruby-on-rails - Content_For 在特定页面上
我正在使用 Discourse,我只想在类别/索引页面上显示一些文本。像这样的东西:http: //community.smartthings.com/如果你应该按下“最新”按钮,横幅就会消失。
在我的和app/views/application.rb
之间: <%= yeild :head %>
/head>
在views/categories/index.html.erb
顶部:
我的问题是它工作正常。但我必须在上述工作之前重新加载页面。示例:当我转到 url /categories 时,文本会显示我想要的位置。如果我单击“最新”按钮,文本仍然存在。如果我在最新页面上刷新,文本就消失了。如何在不刷新页面的情况下让它消失?
PS:我在开发模式下使用它。不是生产。
谢谢!
ember.js - 告诉 Ember 重新渲染组件
我定义了一个组件如下:
逻辑(虽然不漂亮)按预期工作,但是我不知道如何告诉 Ember 在path
或的值label
发生变化时重新渲染组件 - 我已经尝试.observes()
在渲染函数上使用,以及尝试调用this.rerender()
但是这个不起作用。
谢谢
编辑:
是的,当然我不应该手动渲染。
我现在有一个简单的模板:
由该组件支持:
这现在有效,并且在路径更改时正确调用了日志。我.set
原以为调用对象会自动更新模板,但是目前没有更新。我错过了什么?
javascript - 通过从车把模板外部的 javascript 访问 Ember.ArrayController 获取 Discourse 中的徽章列表
在 Ember.js 中,我知道我可以使用Ember.ArrayController
来访问特定的数据集合,例如来自 ember 网站的示例:
并像这样在车把中访问它:
虽然,我想要做的是在 javascript 中访问 this?更具体地说,在 Discourse 中,为用户获取徽章。user-badges.js.es6
控制器:
如何获取用户的此徽章列表?调用 Discourse.UsersBadges ArrayController 似乎不起作用。
我不确定我是否在理解 EmberJS 的工作原理或 Discourse 的设计工作原理时遇到了问题。
ruby-on-rails - 通过 AJAX 的话语 API
我希望通过 AJAX 与 Discourse 论坛软件的一个实例进行交互。
我没有安装 Discourse API gem,而是想将 AJAX 请求发送到预先存在的 Discourse Web 实例。我需要 API gem 来执行此操作吗?
我可以很好地执行 GET 请求,但由于某种原因,对“/posts”执行 POST 失败。我在查询字符串中添加 API 密钥和 api_username。我已经启用了管理选项中的所有 CORS 设置以及我的 app.yml 文件。我还设置了 nginx 标头以允许 CORS。
每次都在 OPTIONS 失败。真的不确定我错过了什么。任何帮助将不胜感激。
ruby-on-rails - 设计、话语和单点登录/SSO,有效负载被丢弃,无法登录
我按照官方实施说明(此处)和 Stackoverflow 上的答案(此处)为 Discourse 安装了 SSO 。但是,它不起作用。SSO 有效负载被丢弃在 Get users/sign_in 和 Post users/sign_in 操作之间。
这是 Heroku 日志:
这是按照官方说明(上图)的 Discourse SSO 控制器:
我自定义了 Devise 视图并使用范围用户(类 Users::SessionsController < Devise::SessionsController)安装了 Devise 会话控制器。
查看 Github 上的 Devise Sessions Controller源代码,Get / New 和 Post / Create 方法是:
获取 /resource/sign_in
发布 /resource/sign_in
Create 方法的第一行通过auth_options
(即protected
)引用了 New 方法的最后一行:
New 方法的最后一行(我相信)创建了发布的参数。它们是serialize_options(resource)
另一种protected
方法:
SSO 有效负载未作为serialize_options
.
这似乎是一个类似的问题 devise 和 oauth OmniAuth Single Sign On with Devise,invalid_credentials通过抓取令牌解决。
任何指导或想法表示赞赏。谢谢。