小编Dud*_*udo的帖子

带节点的灰烬(MEEN堆栈?)

我已经在Rails平台上构建应用程序已有一年多了.话虽这么说,如果你可以对Rails进行任何比较,它可能会帮助所有相关方.只是一个想法.

无论如何,我试图将我的头围绕节点和前端框架,ember.我最初对MEAN堆栈的绊脚石很感兴趣.在深入研究了一下之后,我意识到我并不是那么喜欢角度,并开始查找替代品.Ember看起来非常棒,如果没有ng-DOM的所有标记,语法似乎更清晰.我想尝试使用mongoDB,我觉得这种方法会教会我很多东西.

我想,我的问题是快递.Express使用Node时的作用是什么?似乎Ember(甚至是Angular,就此而言)有一个非常富有表现力的路由器.在我对这一切的有限理解中,我认为Express是针对路线的吗?我发现了这个,似乎是一堆MEEN.

MEAN的package.json是庞大的,但我联系的MEEN,非常小,只有快递,猫鼬和请求.我想,另一个问题是MEAN/MEEN堆栈中的不同角色是什么?那有意义吗?我有点乱,哈哈,但我希望继续研究和玩这些东西,直到我有'啊哈!' 那一刻,你知道吗?

mongoose - 似乎是一种更好的与mongoDB交互的方式?

express - 特定于节点的路由?

请求 - 看起来很简单.将外部请求发送到Web上的其他页面.我无法看到MEAN中的等效包装是什么,这真的需要吗?

grunt - 运行一堆东西,以便所有不同的部分可以很好地协同工作?

非常感谢任何解释,链接或帮助.

mongoose node.js express ember.js

21
推荐指数
1
解决办法
5247
查看次数

check_box_tag with label_tag click action

<%= f.label :category %><br/>
<%= check_box_tag 'category[]', '1', false %>
<%= label_tag 'community', 'community', class: 'category_select', value: '1' %>
<%= check_box_tag 'category[]', '2', false %>
<%= label_tag 'food', 'food', class: 'category_select', value: '2' %>
<%= check_box_tag 'category[]', '3', false %>
<%= label_tag 'music', 'music', class: 'category_select', value: '3' %><br/>
<%= check_box_tag 'category[]', '4', false %>
<%= label_tag 'education', 'education', class: 'category_select', value: '4' %>
<%= check_box_tag 'category[]', '5', false %>
<%= label_tag 'theatre', 'theatre', class: 'category_select', value: '5' %>
<%= …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails form-helpers ruby-on-rails-3

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

Bootstrap 3折叠(从左到右)

http://getbootstrap.com/javascript/#collapse

有没有办法让这个菜单从左向右滑动?我环顾四周并没有看到太多,但我想知道是否有人有更多的洞察力.

accordion collapse twitter-bootstrap-3

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

Rails的accept_nested_attributes_for与f.fields_for和AJAX一起使用

我很好奇如何正确使用accepts_nested_attributes_forf.fields_for.

意见/命令/ new.html.erb

<%= form_for @order, html:{role: "form"} do |f| %>

  <%= f.submit "Don't push...", remote: true %>
  <%= f.text_field :invoice %>
  <%= f.text_field :ordered_on %>
  <%= f.text_field :delivered_on %>

  <table  id='order_form'>
    <h3>Details</h3>
    <tbody>
      <%= render 'order_details/details', f: f %>
    </tbody>
    <%= link_to 'add line', new_order_detail_path(company_id: params[:company_id]), remote: true %>
    <%= link_to 'new box', new_box_path, remote: true %>
  </table>

<% end %>
Run Code Online (Sandbox Code Playgroud)

视图/ ORDER_DETAILS/_details.html.erb

<tr class='row0'>
  <%= f.fields_for :order_details, child_index: child_index do |d| %>
    <td><%= d.collection_select …
Run Code Online (Sandbox Code Playgroud)

ruby ajax jquery ruby-on-rails ruby-on-rails-3

13
推荐指数
1
解决办法
8493
查看次数

使用.next增加字母

def home
  letter = 'A'
  @markers = Location.all.to_gmaps4rails do |loc, marker|
    marker.infowindow render_to_string(partial: '/locations/info', 
                                       locals: {object: loc})
    marker.picture({picture: "http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=#{letter.next!}|9966FF|000000",
                    width: 32,
                    height: 32,
                    shadow_picture: "http://chart.apis.google.com/chart?chst=d_map_pin_shadow",
                    shadow_width: 110,
                    shadow_height: 110,
                    shadow_anchor: [17,36]})
    marker.title "Title - #{loc.name}"
    marker.sidebar render_to_string(partial: '/locations/sidebar', 
                                    locals: {object: loc})
    marker.json({id: loc.id})
  end
end
Run Code Online (Sandbox Code Playgroud)

酷的东西.这样可行.它循环通过do loop并递增字母.问题是,它从B开始.我尝试letter在图片中使用,然后在最后使用letter.next!,甚至letter = letter.next,但gmaps向我抛出错误.

有没有办法将"A"之外的东西分配给letter

ruby ruby-on-rails-3 gmaps4rails

12
推荐指数
2
解决办法
8932
查看次数

Rails link_to分配类和id

<%= link_to event do  %>
  #bunch of stuff making up the partial.
<% end %>
Run Code Online (Sandbox Code Playgroud)

所以我试图为部分中的每个项目分配一个ID和一个类.我已经看到你必须在哪里调用完整的link_to功能<%= link_to event, { controller: :controller, action: :action }, {class: 'someClass', id: 'someId' } %>.

这对我来说不起作用,因为这样做会阻止我吗?想法?

ruby-on-rails link-to

8
推荐指数
2
解决办法
2万
查看次数

rspec大十进制匹配器

-:total_cost_with_tax => #<BigDecimal:7fda9d17aaf0,'0.105225E4',18(45)>,
-:total_cost_without_tax => #<BigDecimal:7fda9d17b450,'0.972E3',9(36)>,
-:total_last_installment_amount => #<BigDecimal:7fda9d17b978,'0.8011E2',18(45)>,
-:total_monthly_installment_amount => #<BigDecimal:7fda9d17abb8,'0.8011E2',18(45)>,
-:total_tax => #<BigDecimal:7fda9d17b068,'0.8025E2',18(45)>,

+:total_cost_with_tax => #<BigDecimal:7fda9d0184c8,'0.105225E4',18(36)>,
+:total_cost_without_tax => #<BigDecimal:7fda91ff2b48,'0.972E3',9(27)>,
+:total_last_installment_amount => #<BigDecimal:7fda91fee548,'0.8011E2',18(36)>,
+:total_monthly_installment_amount => #<BigDecimal:7fda91fe72c0,'0.8011E2',18(36)>,
+:total_tax => #<BigDecimal:7fda9d00a2b0,'0.8025E2',18(36)>,
Run Code Online (Sandbox Code Playgroud)

因此,在我的一些测试中,这些都是散落的...... rspec 2,rails 3.我正在比较使用的哈希进行.should eq()比较.我似乎无法使咒语正确.看起来它是一个精确的东西,这似乎很傻.

ruby rspec ruby-on-rails bigdecimal

8
推荐指数
1
解决办法
5944
查看次数

从MEAN堆栈开始,只是哼了一声

所以,我明白了.一切都安装好了.不过,我有一些问题,我希望能就如何阅读这些错误日志提供一些指导.我来自Rails,供参考.

首先,与http://mean.io/一起,npm install有一些问题,但更新和清除缓存会解决它.现在我在咕噜咕噜.我得到的第一件事是:

Express app started on port 3000

events.js:72
    throw er; // Unhandled 'error' event
          ^
Error: failed to connect to [localhost:27017]
at null.<anonymous>(D:\Dropbox\Apps\mean_projects\first\node_modules\mongoose\node_modules\mongodb\lib\mongodb\connection\server.js:540:74)
at EventEmitter.emit (events.js:106:17)
at null.<anonymous> (D:\Dropbox\Apps\mean_projects\first\node_modules\mongoose\node_modules\mongodb\lib\mongodb\connection\connection_pool.js:140:15)
at EventEmitter.emit (events.js:98:17)
at Socket.<anonymous> (D:\Dropbox\Apps\mean_projects\first\node_modules\mongoose\node_modules\mongodb\lib\mongodb\connection\connection.js:478:10)
at Socket.EventEmitter.emit (events.js:95:17)
at net.js:441:14
at process._tickCallback (node.js:415:13)
22 Dec 21:03:14 - [nodemon] app crashed - waiting for file changes before starting...
Run Code Online (Sandbox Code Playgroud)

所以,我猜了一下,想也许我不得不手动启动mongo?mongod然后在一个新的控制台,grunt.Express app started on port 3000!活泉.在访问时http://localhost:3000/,我得到了这个怪物:

Error: D:\Dropbox\Apps\mean_projects\first\app\views\layouts\default.jade:1 > …
Run Code Online (Sandbox Code Playgroud)

node.js mean-stack pug

7
推荐指数
2
解决办法
4757
查看次数

Node Redis XREAD 阻塞订阅

我正在将 redis 发布/订阅系统转换为 redis 流,以便我可以为服务器发送的事件添加一些容错。

订阅传统方式是微不足道的:

import { createClient } from 'redis';

const redisOptions = {
  url: `${process.env.REDIS_URL}/0`
}
const redis = createClient(redisOptions);
redis.setMaxListeners(100000);

redis.on("message", (channel, message) => {
  console.log(channel);
  console.log(message);
});

redis.subscribe('foo');
Run Code Online (Sandbox Code Playgroud)

这将永久阻止,并保持连接打开。在这种情况下,发布到 redis 将添加到您的日志中。

const json = { a: 1, b: 2 };

redis.publish('foo', JSON.stringify(json));
Run Code Online (Sandbox Code Playgroud)

切换到流,你使用XREAD而不是订阅,而XADD不是发布,数据有很大的不同。我正在努力解决的部分是阻塞。

redis.xread('BLOCK', 0, 'STREAMS', 'foo', '$', (err, str) => {
  if (err) return console.error('Error reading from stream:', err);

  str.forEach(message => {
    console.log(message);
  });
}
Run Code Online (Sandbox Code Playgroud)

发送消息时,我的“订阅”会接收第一个消息,但不会记录更多消息。

publish-subscribe redis node.js redis-streams

6
推荐指数
1
解决办法
1096
查看次数

mongoid - 查询嵌入式文档

class Foo
  include Mongoid::Document
  field :name, type: String
  embeds_many :bars
end

class Bar
  include Mongoid::Document
  field :name, type: String
  embedded_in :foo
end
Run Code Online (Sandbox Code Playgroud)

有没有办法可以查询所有bars这里?在AR我会做类似的事情Bar.where(name: 'something')- 只要给我所有符合某些标准的酒吧.

就目前而言,我只能在一个foo上查询特定的条形图.`Foo.first.bars.where(名字:'某事').我知道mongoDB没有连接,所以......我很好奇如何解决这个问题.

我准备好一起失去Foo并做一些像:

class Bar
  include Mongoid::Document
  field :foo_name, type: String
  field :name, type: String
end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails mongodb mongoid

5
推荐指数
1
解决办法
5711
查看次数