小编Cla*_*u S的帖子

Rails 4.0 with Devise.嵌套属性Unpermited参数

我正在使用Devise和Rails 4开发一个Web应用程序.我有一个用户模型,我已经扩展了2个额外的表单字段,这样当用户注册时,他也可以提交他的名字/姓氏.(基于http://blog.12spokes.com/web-design-development/adding-custom-fields-to-your-devise-user-model-in-rails-4/).我现在想要添加一个机构模型.此模型has_many:用户和用户belongs_to:institution.我希望能够在注册用户的同一表格上注册该机构的名称.我知道我需要在我的Institution模型中使用nested_attribute ,因为这是父类,我将稍微展示一下.当我尝试注册用户时,我进入控制台:Unpermited参数:机构.

我的提示是我无法根据我的子类(User)更新我的父类(Institution).可能有解决方案吗?或者有没有人经历类似的事情?

class Institutions < ActiveRecord::Base
    has_many :users, 
    accepts_nested_attributes_for :users
end

class User < ActiveRecord::Base
     devise :database_authenticatable, :registerable,
     :recoverable, :rememberable, :trackable, :validatable
     belongs_to :institution
end
Run Code Online (Sandbox Code Playgroud)

registrations/new.html.erb这里我有嵌套表格

<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f|     %>
<%= devise_error_messages! %>
.
. 
    <%= f.fields_for :institutions do |i| %>
        <p><%= i.label :name %><br />
        <%= i.text_field :institutions_attr %></p>
    <% end %>
Run Code Online (Sandbox Code Playgroud)

基于我之前链接的教程,我创建了一个新的 …

ruby-on-rails nested-forms nested-attributes devise strong-parameters

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

Node.js Promises:异步推送到数组并保存

我正在尝试从我通过请求收到的项目列表中推送到一个数组(Mongo模型中的属性).从这些项目中,我遍历它们以查看当前在数据库中的哪一个,如果不是这样,那么我创建一个新项目并尝试保存它.我正在使用promises来完成这项任务,但是我无法弄清楚为什么在所有承诺完成后数组都是空的.

var q     = require('q');

var items_to_get = ['1', '2', '3']; // example array

var trans = new Transaction({
    items   : []
});

var promises = [];

for (var i = 0; i < items_to_get.length; i++) {

  var ith = i; //save current i, kinda hacky
  var deferred = q.defer(); //init promise

  //find an existing item
  Item.findOne({simcode: items_to_get[ith]}, function(err, item) {
      trans.items.push(item); // push item to transaction
      deferred.resolve(item); // resolve the promise
  });
  promises.push(deferred); // add promise to array, can …
Run Code Online (Sandbox Code Playgroud)

arrays node.js q

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

D3 DataMaps:泡泡上的OnClick事件

我正在关注datamaps文档,我正在尝试将onClick监听器设置为我在svg上呈现的气泡.现在,svg div具有以下子标记:

<svg>
  <g id class="datamaps-subunits">..</g>
  <g id class="bubbles">..</g>
</svg>
Run Code Online (Sandbox Code Playgroud)

文件说,对于地图上列出的国家,这应该按照以下方式完成:

done: function(datamap) {
            datamap.svg.selectAll('.datamaps-subunits').on('click', function() {
              alert("hello");  
            });
        }
Run Code Online (Sandbox Code Playgroud)

这样可以正常工作,同时尝试点击地图上的特定区域.

试图将相同的侦听器附加到bubbles类没有任何作用.

done: function(datamap) {
            datamap.svg.selectAll('.bubbles').on('click', function() {
                alert("hello"); 
            });
        }
Run Code Online (Sandbox Code Playgroud)

javascript svg d3.js datamaps

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

HTTP 请求的真实性和完整性

我有一个 API 端点,外部网站可以在其中提交 POST 请求。确保请求真实且不被篡改的最佳方法是什么,因此他们尊重完整性原则?

由于信用卡信息等数据没有价值,因此我不需要 HTTPS 集成。

我已经查看了 HMAC 和数字签名,我相信第二种选择会更好,但我不确定这是否可行?

同样,散列请求并在我的服务器上验证它就足够了吗?

hash http-post authenticity integrity digital-signature

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

Mongoose查询:删除"_id"属性,在结果中保留虚拟属性"id"

我正在运行Express.js应用程序,我有以下设置:

models.js

var schemaOptions = {
    toJSON: {
      virtuals: true
    },
    toObject: {
        virtuals: true
    }
};

var modelSchema = new mongoose.Schema({
    name     : { type: String, required: true }

}, schemaOptions);

modelSchema.virtual('id').get(function() { return this._id; });
Run Code Online (Sandbox Code Playgroud)

controllers.js

exports.getModel = function(req, res) {
    Model.find().select('name').exec(function(err,model) {
        if (err) {
            return res.status(500).json({errors:err, message: 'Internal server error'});
        }
        return res.status(200).json({model: model});
    });
};
Run Code Online (Sandbox Code Playgroud)

上述查询的结果如下:

{ "_id":"dakjdjkakda", "name":"MontyPython", "id":"dakjdjkakda" } 
Run Code Online (Sandbox Code Playgroud)

因为我在modelSchema中定义了Virtual属性.

如果我将查询select语句更改为:

Model.find().select('-_id name').exec(function(err,model) {}
Run Code Online (Sandbox Code Playgroud)

结果将是:

{"name":"MontyPython", "id":null }
Run Code Online (Sandbox Code Playgroud)

我相信这是因为Virtual属性指向_id属性.

我的问题是,如何删除查询中的_id属性,但保留我创建的id别名?

mongodb node.js

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

Python Numpy非零

所以我有这个numpy形状的数组(31641600,2),它有一些,如果不是很多零值.

我们称之为数组X.

这样做:

print len(X)
>>> 31641600
Run Code Online (Sandbox Code Playgroud)

但后来做:

X = X[np.nonzero(X)]
print len(X)
>>> 31919809
Run Code Online (Sandbox Code Playgroud)

不明白为什么第二个更大.在文档中它说应用上面的方法应该只返回非零值,因此X的长度应该更小.

有任何想法吗?谢谢.

python arrays numpy

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

Angular.js将错误消息从服务传递到控制器$ scope

我正在做一个http.post请求,我试图显示错误消息,以防出现任何问题.我正在处理服务中的错误消息,然后将其传递给控制器​​并在$ scope中设置它.我没有得到任何JS错误....任何想法为什么会这样?

services.js

angular.module('app.services', [])
.factory('Model', function($http) {

    Model.save = function(data) {
        return $http.post(url, data)
            .success(function(data, status, headers) {
                console.log(data);
                console.log(status);
                console.log(headers);
            })
            .error(function(data, status, headers) {
                var requestError = 'Something went wrong! :(';
                return requestError; //pass error message back to $scope
            });
    }

return Model;

});
Run Code Online (Sandbox Code Playgroud)

controllers.js

.controller('Ctrl', function($scope, Model) {   
//form object data
$scope.formInfo = {};

//form save 
$scope.saveData = function() {
    //console.log($scope.formInfo);

    $scope.requestError = '';

    //form data
    var data = {name: $scope.formInfo.name, description: $scope.formInfo.description, token: "/api/v1/tokens/1/"};

    Model.save(data).then(function(requestError) …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

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

Ruby:"!〜"运算符是什么意思?

声明语法时,例如:

a !~ b
Run Code Online (Sandbox Code Playgroud)

其中a,b是变量,它是什么意思?

ruby

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

Ionic-Angular.js拍照并发送到服务器:空图像

所以我设法使用自定义指令通过Angular.js将图像上传到我的服务器.我还设法实现了Cordova的相机功能.现在我正在尝试连接这两个,但是当将图像发送到服务器时,它们被存储为null.我相信问题在于我使用输入字段来获取图像,并且它获得了完整的对象,现在我在拍摄照片并发送之后只获得图像路径.我的问题是,我真的不明白如何将路径转换为Object,如果这是问题?

的index.html

<form class="form-horizontal" role="form">
    <button class="picButton" ng-click="getPhoto()" class="button button-block button-primary">Take Photo</button>
    <img ng-src="{{lastPhoto}}" style="max-width: 100%">
...
</form>
Run Code Online (Sandbox Code Playgroud)

controllers.js

$scope.getPhoto = function() {
    Camera.getPicture().then(function(imageURI) {
        console.log(imageURI);
        $scope.lastPhoto = imageURI;
        $scope.upload(); <-- call to upload the pic
    },
    function(err) {
        console.err(err);
    }, {
        quality: 75,
        targetWidth: 320,
        targetHeight: 320,
        saveToPhotoAlbum: false
    });
};

$scope.upload = function() {
    var url = '';
    var fd = new FormData();

    //previously I had this
    //angular.forEach($scope.files, function(file){
        //fd.append('image',file)
    //});

    fd.append('image', $scope.lastPhoto);

    $http.post(url, fd, {

        transformRequest:angular.identity,
        headers:{'Content-Type':undefined …
Run Code Online (Sandbox Code Playgroud)

camera file-upload angularjs cordova ionic-framework

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

Go:运行外部Python脚本

我试过跟随Go Docs来调用一个只从GO输出"Hello"的python脚本,但直到现在才失败.

exec.Command("script.py")
Run Code Online (Sandbox Code Playgroud)

或者我也试过调用一个简单调用python脚本的shell脚本,但也失败了:

exec.Command("job.sh")
Run Code Online (Sandbox Code Playgroud)

任何想法我将如何实现这一目标?

编辑

我按照评论中的建议解决了问题,并添加了exec.Command()的完整路径.

exec go

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

亚马逊AWS EC2 GoLang

我有一个小的Go Web服务器,我已部署在Amazon Web Services上,但我无法上班.

我的EC2实例分配了公共和私有IP地址,但我无法启动Go服务器.

如果我在localhost上提供它它可以工作,但显然我无法连接到它,所以我试图将它分配给公共IP,但它崩溃而不会丢失任何错误.

http.ListenAndServe("public_ip", nil)
Run Code Online (Sandbox Code Playgroud)

有什么想法从这里开始?

amazon-ec2 go amazon-web-services

2
推荐指数
1
解决办法
2117
查看次数

Ruby String to Array方法

我一直在寻找,似乎找不到任何东西.我在Rails应用程序中使用Easy-Roles和CanCan,我的角色列被定义为字符串数组.当用户从下拉列表中输入/选择角色时,参数将作为字符串而不是数组发送,因此我无法将其保存在数据库中.

是否有任何方法可以从字符串中创建1D-1元素字符串数组?

编辑:

这是我的表格:

<%= f.collection_select :roles, User::ROLES, :to_s, :split, 
                        :prompt=>"Select a role" %>
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

Attribute was supposed to be a Array, but was a String. -- "Admin"
Run Code Online (Sandbox Code Playgroud)

ruby arrays string ruby-on-rails

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

Python多处理池传递函数参数

我有4个嵌套循环,我循环列表列表,以及我从函数传递一些参数的函数,具体来说:

def method(var1, var2 ....., var 16):
  #computation 

pool = Pool()

for values1 in list_of_values1:
  #assign 4 variables from the list 
  for values2 in list_of_values2:
    #assign 4 variables from list 
    for values3 in list_of_values3:
      #assign 4 variables from  list 
      for values4 in list_of_values4:
        #assign 4 variables from list
        method(var1, ..., var16)
Run Code Online (Sandbox Code Playgroud)

我试过用过

pool.map(方法,[var1,...,var16])为了对整个进程进行并行化,但它抛出一个错误,说"method()只需要16个参数,1给出"

我也试过使用Threads,但它没有太大改进.

感谢你的帮助!

干杯

python multiprocessing

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