小编tom*_*456的帖子

Rails 和页面特定的 Javascript

好的,我意识到这个问题已被问过很多次,但答案似乎从未解决我对此的问题/疑问。

我有一个 js 文件,我只想包含在特定页面上。有很多回应建议我将文件放入文件夹,然后在清单文件中只引用这些文件夹——例如这个 Railscast(大约 06:20)谈到了这个。

但是,我只有一个应用程序布局文件(我想这可能是我缺少的区域) - 因此该文件指向 application.js 清单,因此我看不到如何有条件地包含内容。

它也有点像这个资源 - http://railsapps.github.io/rails-javascript-include-external.html - 向下滚动到特定页面的脚本子标题,它重复了 Railscast 的建议。但是没有提到多个应用程序布局文件。

如果有人能帮助我澄清在这种情况下该怎么做,我将不胜感激。

我也许应该指出我正在使用 Rails 4。

ruby-on-rails

4
推荐指数
2
解决办法
5032
查看次数

在Go项目中初始化git的位置

作为Go的初学者,我不知道initGit 在哪里.

这里的文档https://golang.org/doc/code.html似乎在早期的hello目录之外建议,然后告诉我git inithello目录中运行.

对此提出任何建议都是有用的.

go

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

Rails/Ruby相当于PHP file_get_contents

想知道以下PHP的Rails/Ruby等价物:

$data = json_decode(file_get_contents(URL_GOES_HERE))
Run Code Online (Sandbox Code Playgroud)

URL是返回json数据(Facebook的API)的外部资源.

我试过了:

data = JSON.parse(URL_GOES_HERE)
Run Code Online (Sandbox Code Playgroud)

但我想我仍然需要`file_get_contents'部分?我如何在Rails 4中执行此操作?

json ruby-on-rails ruby-on-rails-4

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

Node package.json依赖项

Nodejs的新手,查看package.json文件的dependencies部分.有人可以向我解释在设置版本时它们~*符号的作用吗?

node.js

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

Jade中的Flash消息

以下示例:http://scotch.io/tutorials/javascript/easy-node-authentication-setup-and-local,除Flash消息部分外,一切正常.

我已经将视图引擎更改为Jade而不是EJS,但我似乎无法显示flash消息.

ejs视图中提供的代码是:

<% if (message.length > 0) { %>
  <div class="alert alert-danger"><%= message %></div>
<% } %>
Run Code Online (Sandbox Code Playgroud)

而我本以为我可以为Jade做这件事:

if #{message}
  p message
Run Code Online (Sandbox Code Playgroud)

甚至:

if message
  p message
Run Code Online (Sandbox Code Playgroud)

但没有成功.知道我做错了什么吗?

注意我按照教程包含了所有必需的库

node.js express passport.js pug

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

app.router和express.static的Expressjs顺序

要配置我的Expressjs应用程序,我有这两行(以及其他):

...
app.use(express.static(__dirname + '/public'));
app.use(app.router);
...
Run Code Online (Sandbox Code Playgroud)

我已经读过,建议将路由器放在静态之前,但是当我做Angularjs应用程序时会呈现一个空白页面.当它们按所示顺序显示时,视图会正常呈现.

为什么是这样?

node.js express angularjs

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

HTTP路由器和中间件

我正在使用Julien Schmidt的GoLang路由器,并尝试让它与Alice合作来连接中间件.我收到这个错误:

不能使用commonHandlers.ThenFunc(final)(类型http.Handler)作为路由器的参数httprouter.Handle.GET

而且我不太清楚为什么.

我的代码是:

package main

import (
  "log"
    "net/http"

    "github.com/julienschmidt/httprouter"
  "github.com/justinas/alice"
    "gopkg.in/mgo.v2"
    //"gopkg.in/mgo.v2/bson"
)


func middlewareOne(next http.Handler) http.Handler {
  return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
    log.Println("Executing middlewareOne")
    next.ServeHTTP(w, r)
    log.Println("Executing middlewareOne again")
  })
}

func middlewareTwo(next http.Handler) http.Handler {
  return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
    log.Println("Executing middlewareTwo")
    if r.URL.Path != "/" {
      return
    }
    next.ServeHTTP(w, r)
    log.Println("Executing middlewareTwo again")
  })
}

func final(w http.ResponseWriter, r *http.Request) {
  log.Println("Executing finalHandler")
  w.Write([]byte("OK"))
}

func main() {
    session, err := mgo.Dial("conn-string") …
Run Code Online (Sandbox Code Playgroud)

middleware go go-alice

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

将参数传递给 Negroni 中间件

对我的应用程序的每个请求都应该使用一些中间件。使用 Negroni docs 我已经实现了它,如下所示:

func MyMiddleware(rw http.ResponseWriter, r *http.Request, next http.HandlerFunc) {
  // do some stuff before
  next(rw, r)
}
Run Code Online (Sandbox Code Playgroud)

我在其他地方使用:

n.Use(negroni.HandlerFunc(MyMiddleware))
Run Code Online (Sandbox Code Playgroud)

但是,中间件需要接收一个额外的参数,我不确定如何构建它。目前我只是将该值设置为全局变量以使其可用,但我确定有一种更优雅的方法?

我希望能够做这样的事情:

n.Use(negroni.HandlerFunc(MyMiddleware(val)))
Run Code Online (Sandbox Code Playgroud)

go negroni

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

未定义的错误变量

作为Go"newb",我不知道为什么我在编译程序时收到控制台中未定义错误未定义用户的错误.

我有:

if req.Id == nil {
    user, err := signup(C, c, &req)
} else {
    user, err := update(C, c, &req)
}

if err != nil {
    c.JSON(http.StatusOK, err)
    return
}

doSomethingWith(user)
Run Code Online (Sandbox Code Playgroud)

我意识到我可以在条件块之前声明erruser变量,但我想知道为什么这不起作用.是否与一次创建两个新变量有关?

UDPATE 搞得一团糟.

我现在有:

user := core.User{}
if req.Id == nil {
    user, err := signup(C, c, &req)
} else {
    user, err := update(C, c, &req)
}

cleanUser(&user)
Run Code Online (Sandbox Code Playgroud)

我的错误现在是用户声明的而不是使用的.我现在不是在处理错误的部分,但我不确定为什么我会收到有关用户的错误.

go

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

CSS 100%高度在React应用中不起作用

我正在尝试在我的React应用程序中使用Flexbox创建一个简单的两列网页,该网页占据整个宽度和高度。

我可以让它单独使用HTML和CSS,但不能在React应用程序中使用。

到目前为止,我有:

:root {
  overflow-x: hidden;
  height: 100%;
}

body {
  min-height: 100%
}

.flexbox {
  height: 100%;
  display: flex;
}

.left {
  flex: 0 0 200px;
  height: 100%
}

.right {
  flex: 1
}
Run Code Online (Sandbox Code Playgroud)

和:

<div class="flexbox">
  <div class="left">
    Left
  </div>
  <div class="right">
    Right
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我意识到我需要<div id="root"></div>在我的帐户中添加额外的标签,index.html因此我还在CSS中添加了以下内容:

#root {
  height: 100%;
}
Run Code Online (Sandbox Code Playgroud)

而我的render功能:

render() {
  return (
    <div className="flexbox">
      <div className="left">Left</div>
      <div className="right">Right</div>
    </div>
  )
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用。列存在但不是全高。为什么不?

css reactjs

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