小编Dat*_*sik的帖子

使用Golang模板,如何在每个模板中设置变量?

如何在每个模板中设置一个我可以在其他模板中使用的变量,例如

{{ set title "Title" }}

在一个模板然后在我的布局中

<title> {{ title }} </title>

然后当它被渲染

tmpl, _ := template.ParseFiles("layout.html", "home.html")

它将根据设置的内容设置标题,home.html而不是在struct没有必要时为每个视图页面设置.我希望我有道理,谢谢.

只是为了澄清:

layout.html:
<!DOCTYPE html>
<html>
  <head>
    <title>{{ title }} </title>
  </head>
  <body>

  </body>
</html>

home.html:
{{ set Title "Home" . }}
<h1> {{ Title }} Page </h1>
Run Code Online (Sandbox Code Playgroud)

templates go

7
推荐指数
1
解决办法
9809
查看次数

GORM不用`gorm:" - "`忽略字段

使用Jinzhu的GORM包这是非常棒的btw,我目前有这个结构:

type User struct {
    gorm.Model

    // The Users username
    Username string `gorm:"size:255;unique;not null"`

    // The Users email address
    Email string `gorm:"size:255;unique;not null"`

    // The Users hashed password
    Password string `gorm:"size:255;not null"`

    // The Users password confirmation (only for forms)
    PasswordC string `gorm:"-"`

    // The Users FULL NAME (e.g. Burt Reynolds)
    Fullname string `gorm:"size:255; not null"`

    // The Users Karma level
    Karma int

    // Is the user banned?
    Banned bool
}
Run Code Online (Sandbox Code Playgroud)

但我也使用Gorilla的Schema包,所以任何表单值填充结构,但我不希望将PasswordC其保存到数据库中,因为它将是纯文本,因为普通Password字段得到bcrypt'd所以任何有关如何进行GORM保存的信息这个 …

go go-gorm

7
推荐指数
1
解决办法
7481
查看次数

如果我正确使用频道,我是否需要使用互斥锁?

如果我正确使用频道,我是否需要使用互斥锁来防止并发访问?

concurrency mutex channel go

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

我没有看到任何错误,但地图不会出现(使用github中的gmaps.js)

我正在尝试在github中使用GMaps.js,但由于某些原因它无法正常工作,我很确定我已将它输入正确,如果有人能指出我正确的方向,谢谢.(http://i.imgur.com/3LkL6xS.png实际照片,以防它在这里不够大.)

破碎的代码

这是新的源代码:

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="http://maps.google.com/maps/api/js?key=AIzaSyBi7e8AiTyqWiFt9vlbGqsAzGyRhVWqCsk&sensor=true"></script>
<script src="js/gmaps.js"></script>
<script>
/**
  * Basic Map
  */
$(document).ready(function(){
 var map = new GMaps({
    div: '#basic_map',
    lat: 51.5073346,
    lng: -0.1276831,
    zoom: 12,
    zoomControl : true,
    zoomControlOpt: {
        style : 'SMALL',
        position: 'TOP_LEFT'
    },
    panControl : false,
  });
});
</script>
</head>
<body>
<div id="basic_map"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

google-maps google-maps-api-3

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

在rails中如何在没有?的情况下发送AJAX请求?在数据?

我正在尝试向GET我的/routes/控制器发送请求,以便我可以收到一些数据,现在我有

function fetchMarker(id) {
    var data;
    $.ajax({
        type: "GET",
        url: '/routes/',
        data: id,
        dataType: "JSON",
        success: function(data) {
            console.log(data)
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

但问题是当我这样做时,Firebug告诉我:

"NetworkError: 404 Not Found - http://10.0.0.24:3000/routes/?15"

我相信这是由?引起的,我最近切换到Ruby on Rails所以我不知道这是否正常但是rake路由告诉我它必须是/ routes /(params [:id])所以我我只假设身份证号码.

我的控制器:

def show
    @route = Route.find(params[:id])
    respond_to do |format|
        format.html
        format.json { render json: @route }
    end

end
Run Code Online (Sandbox Code Playgroud)

在期待中感谢!

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

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

CSRF在我的注册表上禁止,不知道为什么

我在我的Express v3应用程序上设置了CSRF ,我有这样的:

app.use(express.session({
  secret: "gdagadgagd",
  cookie: {
    httpOnly: true,
    path : '/',
    maxAge: 1000*60*60*24*30*12
  }
}));
app.use(express.csrf());
app.use(function(req, res, next) {
  res.locals.token = req.session._csrf;
  next();
})
Run Code Online (Sandbox Code Playgroud)

在我的页面上,令牌显示为:

<input type="hidden" name="_csrf" value="E3afFADF3913-fadFK31">
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在我的网页上注册时,我收到此错误:

Error: Forbidden
    at Object.exports.error (/Users/account/Desktop/nodeapp/node_modules/express/node_modules/connect/lib/utils.js:55:13)
    at Object.handle (/Users/account/Desktop/nodeapp/node_modules/express/node_modules/connect/lib/middleware/csrf.js:54:41)
    at next (/Users/account/Desktop/nodeapp/node_modules/express/node_modules/connect/lib/proto.js:190:15)
    at next (/Users/account/Desktop/nodeapp/node_modules/express/node_modules/connect/lib/middleware/session.js:313:9)
    at /Users/account/Desktop/nodeapp/node_modules/express/node_modules/connect/lib/middleware/session.js:337:9
    at /Users/account/Desktop/nodeapp/node_modules/express/node_modules/connect/lib/middleware/session/memory.js:50:9
    at process._tickCallback (node.js:415:13)
Run Code Online (Sandbox Code Playgroud)

我正在使用Jade作为我的模板引擎,这就是我所拥有的:

input(type='hidden', name='_csrf', value=token)
Run Code Online (Sandbox Code Playgroud)

我正在localhost:3000直接访问该网页,我不知道为什么我被禁止注册帐户.谢谢!

javascript csrf node.js

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

Sails.js的新手如何在不包含layout.ejs的情况下路由到视图?

Sails.js的新用户我已经阅读了文档,但我没有看到一种方法,不包括layout.ejs位于/views/.

我正在尝试将Angular应用到我的应用程序中,当我离开时

$routeProvider.when('/',{
  controller: 'HomeController',
  templateUrl: '/home'
})
Run Code Online (Sandbox Code Playgroud)

那么在我的路线中,我希望能够做到:

'GET /home': { view: 'angular/home.ejs' }
Run Code Online (Sandbox Code Playgroud)

但是会发生什么呢?它会加载home.ejs但也会注入,layout.ejs因此它会成为layout.ejs从布局中注入加载角度脚本的无限循环,然后尝试home.ejs加载layout.ejs等等加载

那我该怎么做呢?

我知道我可以放入视图,/asset/angular/home.html但我希望.ejs能够呈现不同的视图(例如用户未登录)或其他内容.

关于如何在views不注射的layout.ejs情况下渲染的任何信息都会很棒,谢谢!

更新:

通过这样做:

'GET /home': { 
  view: 'home',
  locals: {
    layout: false
  }
}
Run Code Online (Sandbox Code Playgroud)

它使它工作,我不知道是否有一个全球的方式,所以我不必layout: false为每个标志

node.js sails.js

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

我应该多久在我的程序中调用 sql.Open ?

正如标题所说,我不知道有多条sql.Open语句是好事还是坏事,或者我是否应该有一个只有 init 的文件,例如:

var db *sql.DB


func init() {
    var err error
    db, err = sql.Open
}
Run Code Online (Sandbox Code Playgroud)

只是想知道最佳做法是什么。谢谢!

go

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

将对象附加到 Koa 会话后会重置吗?

我有一个控制器来查找一个角色,然后用它做一些事情,控制器看起来像:

router.post('/profile/characters', async ctx => {
    try {
        ctx.type = 'json';
        let req = ctx.request;
        if (!('charname' in req.body) || !('charserver' in req.body)) {
            return res.json({
                'success': false,
                error: 'You are missing either the character name, or server'
            });
        }

        let foundChar = await new Promise((res, rej) => {
            bnet.wow.character.aggregate({
                origin: 'us',
                realm: req.body.charserver,
                name: req.body.charname,
                fields: ['items', 'talents']
            }, (err, charData) => {
                if (err) {
                    console.log(err);
                    return rej(err);
                }
                return res(charData);
            });
        });


        if ('status' in foundChar) { …
Run Code Online (Sandbox Code Playgroud)

javascript node.js koa koa-session koa2

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

如何在 TypeScript 中转换对象属性?

我有一个简单的问题,我正在使用TypeScriptwithReact并且到目前为止效果很好,但是我遇到了这个小问题。我是新来的,TypeScript但到目前为止很喜欢它,真的让我想起Go

我正在尝试创建一个样式并将其作为对象传递到样式中,例如

import * as React from 'react'
import * as ReactDOM from 'react-dom'

export interface NavbarProps {
  title: string;
}

export class Navbar extends React.Component<NavbarProps, undefined> {
  render() {
    return (
      <div style={styles.navbar}>
        <div style={styles.navbarTitle}>
          <h1 style={styles.navbarTitle}>{ this.props.title }</h1>
        </div>
      </div>
    )
  }
}

// Lets it compile properly
let spaceBetween: "space-between" = "space-between";

let styles = {
  navbar: {
    display: 'flex',
    flexDirection: 'row',
    paddingLeft: '10px',
    paddingRight: '10px',
    height: '50px',
    color: 'white', …
Run Code Online (Sandbox Code Playgroud)

typescript

5
推荐指数
2
解决办法
4418
查看次数