小编Kay*_*lly的帖子

Rails在AJAX请求期间阻止布局

我已经四处寻找并且无法找到这种机制的解决方案.我想在Rails中正常加载所有页面,但每当我执行ajax请求时,我只想返回没有布局的页面.因此,每当我做一个ajax请求时,我可以?page=true在这些行上附加一个或者某个东西,让Rails只返回没有布局的页面.

这可能吗?有没有更好的方法来做到我错过了?

谢谢你的帮助!

最终解决方案工作代码

在控制器中,您需要做的就是format.htmlrespond_to块中附加一点逻辑.

show例如,在该方法中

def show
    # code beforehand

    respond_to do |format|
        format.html { render :layout => !request.xhr? }
        # other formats
    end
end
Run Code Online (Sandbox Code Playgroud)

就是这样!在AJAX请求期间阻止布局!

注意:由于smathy对他的回答的评论,这进一步简化了.我最初有format.html { render :layout => nil if request.xhr? } 这个解决方案同样适用,但smathy的修改使它更简单.

ruby-on-rails-3

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

具有Sequelizejs的Nodejs为每个模型使用单独的文件

这是一个令人尴尬的初学者问题,但我只是想解决我对Sequelizejs的担忧.我想将每个模型拆分成自己的文件,以保持我的源组织.为了做到这一点,我需要require("sequelize')var sequelize = new Sequelize('DB-Name', 'DB-User', 'DB-Password');每个文件的开始.

我的问题是,是否会为每个模型创建一个与数据库的新连接,还是会继续重复使用相同的连接?我应该放弃"每个文件一个模型"的整个概念,只创建一个主Models.js文件吗?

我是Node的新手,我仍然习惯于它的惯例.谢谢您的帮助!

node.js sequelize.js

12
推荐指数
1
解决办法
8160
查看次数

在Docker容器中运行时,JVM无法映射保留的内存

我似乎无法在我的服务器上的Docker容器中运行java.即使发布java -version,我也会收到以下错误.

root@86088d679103:/# java -version
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000035ce1000000, 2555904, 1) failed; error='Operation not permitted' (errno=1)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 2555904 bytes for committing reserved memory.
# An error report file with more information is saved as:
# //hs_err_pid17.log
Run Code Online (Sandbox Code Playgroud)

据此,java无法为预留内存映射2.5Mb的空间?这似乎不对......

我在最后包含了完整的日志,但为了获得一些额外的信息,我的系统报告了以下内容:

root@86088d679103:/# uname -m
x86_64
root@86088d679103:/# free -mh
             total       used       free     shared    buffers     cached
Mem:           15G       9.7G       5.8G …
Run Code Online (Sandbox Code Playgroud)

java jvm mmap docker

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

Golang自动 - 包括可扩展的应用程序

我是Go的新手,如果有可扩展应用程序的既定设计模式,我很好奇.

例如,在我的源代码中,我有一个扩展目录,我为我的程序放置了不同的特定于应用程序的扩展.我目前按名称单独加载每个主函数.我希望程序在编译时自动包含我的扩展.

为了清楚起见,我不是试图在运行时动态加载扩展.我只想添加一个扩展程序,如下所示:

  1. 删除扩展文件夹中的文件
  2. 重新编译

如果这对Go来说是不可能的,那么我会做出应有的决定,但我只是想有一个更好的方法来做到这一点.

为了更清楚地展示我想要简化的内容,这里是我现在所做的一个例子:

main.go

package main

import (
    "github.com/go-martini/martini"
    "gopath/project/extensions"
)

func main() {
    app := martini.Classic()

    // Enable Each Extension
    app.Router.Group("/example", extensions.Example)
 // app.Router.Group("/example2", extensions.Example2)
 // ...


    app.Run()
}
Run Code Online (Sandbox Code Playgroud)

扩展/ example.go

package extensions

import (
    "github.com/codegangsta/martini-contrib/render"
    "github.com/go-martini/martini"
)

func Example(router martini.Router) {
    router.Get("", func(r render.Render) {
        // respond to query
        r.JSON(200, "")
    })
}
Run Code Online (Sandbox Code Playgroud)

design-patterns go

9
推荐指数
1
解决办法
1224
查看次数

Golang http mux更改处理函数

我是Go的新手,并且无法找到任何关于此的信息,也许此时此刻不可能.

我试图删除或替换多路复用路由(使用http.NewServeMux或gorilla的mux.Router).我的最终目标是能够启用/禁用路由或路由集,而无需重新启动程序.

我可以在处理程序基础上完成此操作,如果该功能被"禁用",则返回404,但我宁愿找到更通用的方法来执行此操作,因为我想为我的应用程序中的每个路由实现它.

或者我会更好地跟踪禁用的url模式并使用一些中间件来阻止处理程序执行?

如果有人能够至少指出我正确的方向,我绝对会发布解决方案的代码示例,假设有一个.谢谢!

go gorilla

9
推荐指数
1
解决办法
6564
查看次数

Java Logger控制台流重复输出

我希望这个问题有一个简单的答案.我正在尝试将记录器添加到我的Java应用程序中.我能够完美地格式化日志文件,但在尝试将ConsoleHandler添加到记录器以格式化控制台输出时遇到了问题.

一旦我添加了ConsoleHandler,每个日志消息都不打印三次,两次打印我想要的格式,然后一次使用我不想要的原始格式.

我发布下面的代码,不确定我做错了什么.
任何帮助将不胜感激.

// remove and handlers that will be replaced
Handler[] handlers = logger.getHandlers();
for(Handler handler : handlers)
{
    if(handler.getClass() == ConsoleHandler.class || handler.getClass() == FileHandler.class)
        logger.removeHandler(handler);
}

// file handler
FileHandler fh = new FileHandler(file.toString());
fh.setFormatter(new MS2Formatter());
logger.addHandler(fh);

// console handler
ConsoleHandler ch = new ConsoleHandler();
ch.setFormatter(new MS2Formatter());
logger.addHandler(ch);

logger.setLevel(Level.INFO);
Run Code Online (Sandbox Code Playgroud)

编辑:答案

只想在这里发布我的最终代码,以帮助任何有类似问题的人.

logger = Logger.getLogger("My Logger");     
logger.setUseParentHandlers(false);

// remove and handlers that will be replaced
Handler[] handlers = logger.getHandlers();
for(Handler handler : handlers)
{
        if(handler.getClass() == …
Run Code Online (Sandbox Code Playgroud)

java formatting logging

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

简单的Java TCP Server和PHP客户端问题

我正在尝试在充当TCP服务器的Java应用程序和充当客户端的PHP脚本之间的单个端口上建立简单的TCP连接。

我将在下面发布每个代码,但问题是:我可以连接并向Java服务器发送数据。我可以获取该数据并将其打印出来。我的问题出现在尝试将响应发送回php服务器的过程中。

当我注释掉PHP的最后一行“ echo socket_read($ socket,14,PHP_NORMAL_READ);”时 数据可以很好地到达Java服务器。当我重新添加该行时,数据甚至都没有到达Java服务器。

因此,我假设我的问题与我从Java发送数据或尝试从服务器获取PHP数据有关。

这真的让我感到难过,任何帮助将不胜感激!

Java服务器:

protected ServerSocket socket;
protected final int port = 9005;
protected Socket connection;
protected String command = new String();
protected String responseString = new String();


socket = new ServerSocket(port);


while(true)
{
    // open socket
    connection = socket.accept();
    // get input reader
    InputStreamReader inputStream = new InputStreamReader(connection.getInputStream());
    BufferedReader input = new BufferedReader(inputStream);
    // get output handler
    DataOutputStream response = new DataOutputStream(connection.getOutputStream());

    // get input
    command = input.readLine();

    // process input
    Logger.log("Command: " …
Run Code Online (Sandbox Code Playgroud)

php java client-server

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

关于JavaScript如何工作的一些问题

我最近一直在深入研究JavaScript以完全理解语言,并且有一些唠叨的问题,我似乎无法找到答案(特别是处理面向对象的编程).

假设以下代码:

function TestObject()
{
    this.fA = function()
    {
        // do stuff
    }

    this.fB = testB;

    function testB()
    {
        // do stuff
    }
}

TestObject.prototype = {
    fC : function 
    {
        // do stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

功能fA和有fB什么区别?他们的范围和潜在能力是否完全相同?它只是惯例还是技术上更好或更合适的一种方式?

如果在任何给定时间只有一个对象的实例,那么将原型添加一个函数fC甚至是值得的吗?这样做有什么好处吗?原型只在处理对象或继承的许多实例时才真正有用吗?

从技术上讲,什么是以我上面的方式或TestObject.prototype.functionName = function(){}每次调用方式向原型添加方法的"正确"方法?

我希望尽可能保持我的JavaScript代码清晰可读,但我也非常感兴趣的是对象的正确约定在语言中.我来自Java和PHP背景,我试图不对JavaScript如何工作做任何假设,因为我知道它是基于原型的非常不同.

javascript oop prototype function

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

Golang将通用JSON对象解码为多种格式之一

我正在研究golang中基于JSON的通用消息传递协议.我想要做的是BaseMessage拥有一般信息,如Type,timestamp等等.但同时我希望能够为某些类型的数据定义更具体的消息结构.

例如:

type Message struct {
    Type      string `json:type`
    Timestamp string `json:timestamp`

}

type EventMessage struct {
    Message
    EventType string
    EventCreator string
    EventData interface{}
}
Run Code Online (Sandbox Code Playgroud)

我有一组处理程序,并确定哪个处理程序应该处理消息我首先将JSON解码为常规Message类型以检查Type字段.对于此示例,我将获得与"事件"消息类型相关联的处理程序.

当我想要EventMessage在结构上断言类型时,我遇到了问题.

下面的代码非常粗糙,但希望它显示了我如何处理消息的一般概念.

type Handler func(msg Message) Message
handlers := make(map[string]Handler)

var msg Message
decoder.Decode(&msg)
handler := handlers[msg.Type]
handler(msg)
Run Code Online (Sandbox Code Playgroud)

我试图使用一个,interface{}但然后JSON解码器只是创建一个地图,然后我不能断言任何类型.我已经找到了可行的解决方法,但它非常难看,可能效率不高,而且很可能容易出错.我想保持简单明了的事情,这样就可以轻松维护这些代码.

是否有一种在Golang中处理通用JSON对象的方法,以便解码的JSON可以是许多结构格式之一?

我也想过在Data interface{}Message结构中有更多特定信息的想法,但后来我遇到了无法在接口上断言任何类型的相同问题.必须有一种更好的方法来处理我刚才缺少的JSON格式.

json go unmarshalling

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

"Class#message"和"Class.message"表示法之间的区别

这是一个非常基本的红宝石问题.ClassName#message和之间有什么区别ClassName.message

我正在阅读基本的Ruby指南,我看到这两个引用都使用了很多.似乎主要是在代码ClassName.message中使用但在文档ClassName#message中使用.

#简单的文档约定?只有.在实际代码中传递消息的工作?或者有什么东西我只是缺少?

Rails的含义是否有所不同?

ruby ruby-on-rails

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

outline:none不用于输入标记

可能重复:
为什么我不能删除Twitter Bootstrap中的蓝色textarea边框?

我为了摆脱输入字段上的突出显示所做的每一次搜索都说使用css:

input:focus {
    outline:none;
}
Run Code Online (Sandbox Code Playgroud)

这根本不起作用.我正在使用最新版本的chrome,firefox和safari来测试它.

我也在使用Bootstrap css库,我不确定这是否会导致这种问题.

我试图实现的效果是模拟控制台屏幕中的空白行.我有它的工作和完美的外观,除了inout字段聚焦时的亮点.

任何帮助将不胜感激.

html css twitter-bootstrap

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

当范围超过结构片段时,Golang内存地址问题

我是Go的新手,所以可能有一个非常简单的解决方法.我在调用数组结构中的接口方法时遇到问题.我认为最好通过一个例子来解释,所以这里是我能够将代码简化为最基本的例子.

package main

import "fmt"

/* Test Types */
type Test interface {
    Hello() string
}

type TestRecord struct {
    test Test
    name string
}

type TestList []TestRecord

/* Other Type */
type Other struct{}

func (o Other) Hello() string {
return "Hello From Other"
}

func main() {
    /* Init TestList into t */
    t := make(TestList, 1, 100)

    /* Create TestRecord and add it to the list */
    tr := TestRecord{Other{}, "OtherRecord"}
    t = append(t, tr)

    /* Loop …
Run Code Online (Sandbox Code Playgroud)

go

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

Golang Marshal/Unmarshal JSON包含导出和未导出的字段

我已经看到很多方法来编组/解组只有未导出字段的结构.但是我怎么能用混合领域呢?

给定一个结构:

type Test struct {
    fieldA string `json:"fieldA"`
    FieldB int    `json:"fieldB"`
    FieldC string `json:"fieldC"`
}
Run Code Online (Sandbox Code Playgroud)

如何编写MarshalJSON/UnmarshalJSON函数,以便fieldA与FieldB和FieldC一起传输?

以下编译,但在运行时溢出调用堆栈.我的猜测是我递归编组对象,但我不确定在编码时如何保留导出和未导出的字段.

func (t *Test) MarshalJSON() ([]byte, error) {
    return json.Marshal(struct {
         *Test
         FieldA string `json:"fieldA"`
    }{
         t,
         t.fieldA,
    })
}

func (t *Test) UnmarshalJSON(b []byte) error {
    return json.Unmarshal(b, &t)
}
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?或者我应该重新考虑我的数据结构,也许只是导出该字段?

注意:我知道我可以手动执行每个字段,但是如果可能的话,我希望避免更新代码更易于管理.

json marshalling go unmarshalling

0
推荐指数
2
解决办法
4878
查看次数