小编Mic*_*ley的帖子

如何设置form_for select的默认值

我想知道如何在form_for select上设置默认值.

我的代码是这样的:

<%= form_for(@user) do |f| %>
 .
 .
 .

 <div class="field">
 <%= f.select(:user_group_id, options_for_select(@user_groups.collect {|p| [ p.name, p.id ] },   "Select Category")) %>
 </div>
<%= end %>
Run Code Online (Sandbox Code Playgroud)

显然它会返回字段user_group的所有值.在我的编辑页面上,我想将默认值设置为用户在user_group中的任何值.请帮忙

select form-for ruby-on-rails-3

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

为什么这个javascript在Node.js中阻塞?

我有以下使用Node.js的简单http服务器:

var http = require('http');

var server = http.createServer(function(req, res) {
    var counter = 0;

    for(var i = 1; i <= 30; i++) {
        http.get({ host: "www.google.com" }, function(r) {
            counter++;
            res.write("Response " + counter + ": " + r.statusCode + "\n");
            if(counter == 30) res.end();                                                                                                                                   
        });
    }
});

server.listen(8000);
Run Code Online (Sandbox Code Playgroud)

当我在端口8000上卷入我的本地主机时,我确实得到了预期的结果:

Response 1: 200
Response 2: 200
Response 3: 200
...
Response 30: 200
Run Code Online (Sandbox Code Playgroud)

但是当我在第一个进程运行时尝试从另一个终端卷入时,我看到控制台挂起并等待第一个进程完全完成,然后才开始接收相同的输出.

我的理解是,由于这是使用回调的异步代码,节点可以通过在事件循环的下一个滴答处理它们来同步处理多个请求.事实上,我甚至还观看过Ryan Dahl的视频,其中有一个类似于hello world的例子.我的代码中有什么东西可以阻止服务器阻塞?

javascript nonblocking event-loop node.js

6
推荐指数
2
解决办法
1825
查看次数

将隐式ExecutionContext传递给包含的对象/被调用的方法

我正在使用Scala 2.10期货创建一个异步库.库的构造函数采用一系列实现特定特征的用户定义对象,然后库类上的方法将一些数据逐个发送到用户定义的对象中.我希望用户ExecutionContext在设置主实例时提供异步操作,然后根据需要将该上下文传递给用户定义的对象.简化(伪?)代码:

case class Response(thing: String)

class LibraryObject(stack: Seq[Processor])(implicit context: ExecutionContext) {
  def entryPoint(data: String): Future[Response] = {
    val response = Future(Response(""))
    stack.foldLeft(response) { (resp, proc) => proc.process(data, resp) }
  }
}

trait Processor {
  def process(data: String, resp: Future[Response]): Future[Response]
}
Run Code Online (Sandbox Code Playgroud)

可能会使用这样的东西:

class ThingProcessor extends Processor {
  override def process(data: String, response: Future[Response]) = {
    response map { _.copy(thing = "THE THING") }
  }
}

class PassThroughProcessor extends Processor {
  override def process(request: Request, response: Future[Response]) = …
Run Code Online (Sandbox Code Playgroud)

scala scala-2.10 executioncontext

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

为什么我从Erlang翻译的Elixir程序中收到FunctionClauseError("无函数子句匹配")?

**所以,我以前和Erlang一起工作过,而且我很熟悉它.我只是想学习Elixir.

我最近试图将一个"懒惰的caterers"示例翻译成elixir,并且为什么它要么不编译,要么编译警告并且不起作用,我感到很困惑.我在这里缺少什么; 有任何想法吗?erlang代码和'run'如下:**

jps@GRASSKEET ~/dev/erlang
$ cat cater.erl

    -module(cater).
    -export([cater/1]).
    cater(0) -> 1;
    cater(N) when N>0 -> N + cater(N-1).

jps@GRASSKEET ~/dev/erlang
$ erl
Eshell V6.3  (abort with ^G)
1> c("cater.erl").
{ok,cater}
2> cater:cater(10).
56
3>*
Run Code Online (Sandbox Code Playgroud)

当我像这样编写Cater.ex时,会收到一个对我没有意义的错误:

jps@GRASSKEET ~/dev/elix
$ cat Cater.ex

    defmodule Cater do
      def cut(0), do: 1
      def cut(N) when N>0, do: N + cut(N-1)
    end

jps@GRASSKEET ~/dev/elix
$ iex
Interactive Elixir (1.0.4) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> c("Cater.ex")
Cater.ex:1: warning: redefining …
Run Code Online (Sandbox Code Playgroud)

erlang elixir variable-names

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

Rails 3基于上下文进行路由

我正在尝试实现类似于GitHub使用的"上下文"系统.例如,可以创建属于用户或用户所属的公司之一的帖子,这取决于用户是在"用户"上下文中还是在引用其中一个公司的上下文中.

作为其中的一部分,我希望能够根据用户的当前上下文进行路由.例如,如果用户在他们自己的上下文中,/dashboard应该路由到users/show,但如果他们在ID为35的公司的上下文中,则/dashboard应该路由到companies/35/dashboard.

我可以路由/dashboard到一个负责做出这样决定的特殊控制器,比如context#dashboard可以做一个redirect_to,但这感觉不太正确(也许是因为我们正在采用Rails路由模块负责的逻辑并将其移动到控制器?)

在Rails 3中解决这个问题的正确方法是什么?

routing ruby-on-rails-3 contextpath

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

通过 Web Audio API 在 WAV 录音中出现卡顿/“机器人”音频

我正在使用 Web 音频 API 从应用程序的用户按住特定键(例如,一键通)时捕获浏览器中音频的 WAVE 音频剪辑(更新:不使用一键通时也会发生)讲话)。许多录音中的音频断断续续;你可以在这里听到一个例子(从大约 5 秒开始)和一个不同的例子在这里。我能做些什么来诊断(或修复)这个问题?(我已经对缓冲区大小进行了createScriptProcessor相当多的调整,但无济于事。)

使用该应用程序的计算机都是在 OS X 10.8 或 10.9 上运行 Chrome 36 的 MacBook Pro(更新:10.10 上也运行 Chrome 39/40)。这是记录上面链接的示例的机器的 chrome://version:

Google Chrome:   36.0.1985.143 (Official Build 287914) 
OS:              Mac OS X 
Blink:           537.36 (@179211)
JavaScript:      V8 3.26.31.15
Flash:           14.0.0.177
User Agent:      Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36
Command Line:    /Applications/Google Chrome.app/Contents/MacOS/Google Chrome --flag-switches-begin --flag-switches-end
Executable Path: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome …
Run Code Online (Sandbox Code Playgroud)

javascript web-audio-api

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

Ruby:从Windows上的外部进程的stdout和stderr读取大数据

问候,所有,

我需要从Windows上的Ruby 1.9.2运行一个可能长时间运行的进程,然后从外部进程的标准输出和错误中捕获和解析数据.可以向每个数据发送大量数据,但我一次只对一行感兴趣(不捕获和存储整个输出).

经过一些研究后,我发现Open3类将负责执行该过程,并为我提供IO连接到进程标准输出和错误的对象(通过popen3).

Open3.popen3("external-program.bat") do |stdin, out, err, thread|
  # Step3.profit() ?
end
Run Code Online (Sandbox Code Playgroud)

但是,我不确定如何在不阻止程序的情况下连续读取两个流.由于呼吁IO#readlinesout或者err当大量的数据已在内存分配错误被送往结果,我想继续检查可用输入两个流,但没有任何我实现多少运气.

提前感谢任何建议!

ruby io pipe

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

僵尸之路 - 实验3>练习4

我尝试解决这个练习2个小时,我找不到解决办法?

有人,请帮忙吗?

http://railsforzombies.org/labs/3/exercises/16

练习:

目的

在每个区块中,如果Zombie有超过1条推文,则打印出SMART ZOMBIE

你的数据库:

Zombies
id  name  graveyard
1   Ash   Glen Haven Memorial Cemetary
2   Bob   Chapel Hill Cemetary
3   Jim   My Fathers Basement

Tweets
id  status                                    zombie_id
1   Where can I get a good bite to eat?       1
2   My left arm is missing, but I don't care  2
3   I just ate some delicious brains          3
4   OMG, my fingers turned green.             1
Run Code Online (Sandbox Code Playgroud)

视图代码:

<% zombies = Zombie.all %>

<ul>
  <% zombies.each do |zombie| …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

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

使用JSX语法的`eval()`代码

我有一个网站,服务器在其中生成一些javascript并将其通过ajax发送到客户端。问题是,我想在页面上使用React,但不知道要调用哪个函数。现在,JavaScript在jQuery中,我使用eval()在客户端执行javascript。什么是适用于JSX的eval()的React等效项。

reactjs

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

如何知道当vm.runInContext完成它的执行时

这是我的代码

var offer = {title:'fdsfds',price:323,value:140};
    var initSandbox = {
            http: http,
            offer: offer
        };
var context = vm.createContext(initSandbox);
vm.runInContext(code, context);
Run Code Online (Sandbox Code Playgroud)

当runIncontext在提供的上下文成功地执行代码,它更新报价对象在上下文中,所以我需要知道它完成它的执行,所以我可以从上下文retrive报价对象时.

node.js

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