小编Max*_*s S的帖子

标记用户何时开始键入表单

我想author在用户开始输入表单时将用户添加到帖子列表中.

例如,当用户在表单中键入任何字母(或按"输入"按钮)时,我会调用@post.authors.create(user_id: current_user.id)将用户添加到该特定帖子的作者列表中.我认为这是不可能实现的,但使用javascript提交ajax请求可能足以实现此方法.是否有可能在Rails应用程序中实现此类方法?如果是这样,有人可以给我一些指示吗?

javascript ajax jquery ruby-on-rails

4
推荐指数
1
解决办法
808
查看次数

实时网络编程:它是如何工作的?

作为一名 Web 开发人员,我在 Redis 或 Pusher 等第三方服务的帮助下开发了聊天服务和其他一些实时协作服务。它们提供了简单的 API,我可以使用发布/订阅模型通过网络服务器实现双向通信。我现在想在不使用任何第三方服务的情况下实现一个简单的推送通知,但我不太确定如何实现这一点。情况如下:

  1. 后端是 Python (Django)
  2. 用户收到来自另一用户的私人消息。
  3. 无需刷新 Web 浏览器即可通知收件人。

我的问题:

  1. 从这篇文章来看,Django 似乎是实现此类功能的一个糟糕选择,而 Node.js 则是一个不错的选择。这是真的吗?如果是,那是为什么?
  2. 是否可以打开从客户端到服务器的 websockets,以监听特定模型的某些更改?(例如,当 Message 模型中有新消息时,更新 DOM)

我非常感谢任何帮助!

javascript django push-notification websocket node.js

4
推荐指数
1
解决办法
1371
查看次数

流星找到一个id的对象

假设我有一个id字符串,看起来像557fba5a8032a674d929e6a1存储在session中.我尝试检索一个_id与上面相同的文档,但即使它存在,我也找不到它.

Posts.findOne({_id: "557fba5a8032a674d929e6a1"});
Run Code Online (Sandbox Code Playgroud)

返回undefined.现有对象如下所示:

在此输入图像描述

我可以做到这一点

var id = "557fba5a8032a674d929e6a1";
var posts = Posts.find().fetch();
var post = _.filter(posts, function (post) { return post._id._str === id });
return post
Run Code Online (Sandbox Code Playgroud)

但它看起来很脏.这是我的控制台输入和输出,以进一步调查此行为(Posts == Applicants).你会注意到,即使我们正在寻找的文件肯定存在,我也找不到它.

在此输入图像描述

meteor

4
推荐指数
1
解决办法
3760
查看次数

Rails:使用Bootstrap-Sass,你如何使用Mixins?

我找不到关于如何使用bootstrap-sass的mixin的好参考.我正在尝试为我的背景颜色添加渐变效果,我想学习如何使用mixin中的内置渐变功能.

// Gradients
@mixin gradient-horizontal($startColor: #555, $endColor: #333) {
  background-color: $endColor;
  background-image: -moz-linear-gradient(left, $startColor, $endColor); // FF 3.6+
  background-image: -webkit-gradient(linear, 0 0, 100% 0, from($startColor),     to($endColor)); // Safari 4+, Chrome 2+
  background-image: -webkit-linear-gradient(left, $startColor, $endColor); // Safari   5.1+, Chrome 10+
  background-image: -o-linear-gradient(left, $startColor, $endColor); // Opera 11.10
  background-image: linear-gradient(to right, $startColor, $endColor); // Standard, IE10
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-  str($startColor)}', endColorstr='#{ie-hex-str($endColor)}', GradientType=1); // IE9 and   down
}
Run Code Online (Sandbox Code Playgroud)

application.css.scss文件中,我试过了

body {
padding-right: 50px;
padding-left: 50px;
gradient-vertical($startcolor: $white, $endcolor: #08C); …
Run Code Online (Sandbox Code Playgroud)

gradient ruby-on-rails sass twitter-bootstrap

3
推荐指数
1
解决办法
3580
查看次数

将Facebook元标记放在Rails应用程序中

我已经实现了Omniauth和Koala7宝石,以便将我的应用程序与Facebook集成.除了使用自定义对象发布自定义操作的一个小问题外,一切都运行良好.

问题是我的对象url应该是新创建的帖子的显示页面,例如/ posts/1.为了使这个页面被识别为facebook对象,我需要将facebook元标记放在show.html.erb之上,如下所示:

<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# sdff: http://ogp.me/ns/fb/sdff#">
  <meta property="fb:app_id" content="myid" /> 
  <meta property="og:type"   content="sdff:post" /> 
  <meta property="og:url"    content="<%= "http://sdff.herokuapp.com" + post_path(@post) %>" /> 
  <meta property="og:title"  content="Sample" /> 
  <meta property="og:image"  content="https://fbstatic-a.akamaihd.net/images/devsite/attachment_blank.png" /> 
</head>
Run Code Online (Sandbox Code Playgroud)

问题是facebook 对象调试器将其识别为type:webpage而不是type:post.我认为这是因为/layouts/application.html.erb中已经存在默认的head标记,如下所示:

<head>
  <title>sdff</title>
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>
</head>
Run Code Online (Sandbox Code Playgroud)

我假设这是因为对象调试器特别指出:

身体中的元标签:你有你的标签.这可能是因为您的格式错误并且它们在解析树中降低了,或者您不小心将Open Graph标记放在了错误的位置.无论哪种方式,您都需要在标签可用之前修复它.

那么我该如何解决这个问题呢?我需要将facebook元标记放在我的脑中show.html.erb,但页面本身已经是整个应用程序布局的一部分.

ruby-on-rails meta-tags facebook-opengraph

3
推荐指数
1
解决办法
4299
查看次数

我为什么要在这个例子中使用Redux?

到目前为止,Redux并没有让我的生活更轻松.每次添加一个组件时,我似乎都会不必要地创建三个文件(action,constants,reducer)并且比必要时更难思考.但我相信使用Redux肯定有明显的优势,我对此无视.我将带您进入以下示例.

在此输入图像描述

预期行为:

用户可以选择多个项目并将其添加到购物车(POST到后端).

JQuery的

这是我自然而然地诉诸的,但如果我使用普通的jQuery,我觉得我做错了.我应该这样想吗?

$(function() {
  $(".item").click(function(event) {
    $(event.target).toggleClass("selected");
  }

  $("button.submit").click(function() {
    var selectedItems = $(".item.selected");
    var itemIds = $.map(selectedItems, function(item) { return $(item).data("id") });
    $.post(some_url, {itemsToAdd: itemIds});
});
Run Code Online (Sandbox Code Playgroud)

在React

我会做以下事情:

ItemsContainer
  state: selectedItems
  functions: addItem, removeItem, saveCart

Item
  state: isSelected
  props: addItem, removeItem
Run Code Online (Sandbox Code Playgroud)

在Redux

我怎样才能更容易地做到这一点?也许我不应该在globalState selectedItems内部ItemsContainer和内部存储状态?

reactjs redux

3
推荐指数
1
解决办法
2309
查看次数

3
推荐指数
1
解决办法
1万
查看次数

viewdidAppear:为什么我要打电话给超级?

从Apple的文档中,super如果我覆盖该方法,我必须在某个时候调用.我有两个ViewControllers与segue连接在一起.如果按第一个VC中的按钮,则转到第二个VC.问题是,当我推翻viewDidAppear了第一个VC的,叫super,viewDidAppear第二VC的被称为,这是不是我想要的东西.我删了super,一切都很好.

  • 为什么super.viewDidAppear从第一个VC打电话会打电话secondVC.viewDidAppear
  • 是不是viewDidAppear一个坏主意?

先感谢您!

objective-c ios

2
推荐指数
1
解决办法
2355
查看次数

嵌套对象更新时 Redux 不会重新渲染

这个问题请参考下面的函数:

const mapStateToProps = (state) => {
  return {
    currentPlaylist: state.currentPlaylist,
    currentSong: state.currentSong,
    localPlaylists: state.playlistsBySource['local'],
    videoSize: state.videoSize,
  };
}
Run Code Online (Sandbox Code Playgroud)

这是mapStateToProps容器的功能。我希望每次state.playlistsBySource['local']更新时都会重新渲染连接到此容器的组件。但是,即使state.playlistsBySource['local']更新它也不会呈现,因此我将代码更改为以下内容:

const mapStateToProps = (state) => {
  return {
    currentPlaylist: state.currentPlaylist,
    currentSong: state.currentSong,
    playlists: state.playlistsBySource,
    videoSize: state.videoSize,
  };
}
Run Code Online (Sandbox Code Playgroud)

然后每次更新时,连接的组件都会正确state.playlistsBySource['local']更新。但这是一种浪费,因为连接的组件不需要整个playlists.

为什么会发生这种情况,解决它的正确方法是什么?

更新

我像这样连接组件:

export default connect(
  mapStateToProps,
  mapDispatchToProps
)(DumbComponent);
Run Code Online (Sandbox Code Playgroud)

在全局存储中更新后,DumbComponent不会调用的 render 方法state.playlistsBySource['local']

UPDATE2:Reducer 似乎是不可变的..我错过了什么吗?

case CONSTANTS.UPDATE_LOCAL_PLAYLIST:
  var playlistUpdated = transformedPlaylist(state[action.playlist.source], action);
  return updatedPlaylists(playlistUpdated, state);

function transformedPlaylist(state=[], action) …
Run Code Online (Sandbox Code Playgroud)

reactjs redux

2
推荐指数
1
解决办法
2034
查看次数

代理和重定向有什么区别

我希望满足所有来到 的请求/,就像它们来到 一样/api/。例如,

/posts/应被视为/api/posts/

据我所知这是代理,但我不确定代理和重定向之间的区别。主要的困惑来自于以下事实: whileredirect将响应标头的状态代码设置为302while proxy 将其设置为200

代理之间有什么区别,对我来说做我想做的事的最佳方式是什么?

node.js express

2
推荐指数
1
解决办法
2513
查看次数