小编Gui*_*los的帖子

Ruby动态变量名

有没有办法用Ruby在动态名称中创建变量?

我正在读一个文件,当我找到一个字符串时,生成一个哈希.

例如

file = File.new("games.log", "r")

file.lines do |l|
  l.split do |p|
    if p[1] == "InitGame"
      Game_# = Hash.new
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

如何将Game_#中的#更改为数字(Game_1,Game_2,...)

ruby

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

仅在Elixir上导入函数时使用或指定arity

我正在研究Elixir,当我从模块导入函数时使用onlyexcept运算符时,我需要指定一个arity数.为什么?

例如

import :math, only: [sqrt: 1]
Run Code Online (Sandbox Code Playgroud)

要么

import :math, except: [sin: 1, cos: 1]
Run Code Online (Sandbox Code Playgroud)

functional-programming elixir

10
推荐指数
2
解决办法
354
查看次数

未定义的方法'add_reference'

我正在尝试使用以下代码向我的帖子表添加用户引用:

class AddUserIdToPosts < ActiveRecord::Migration
  def change
    add_reference :posts, :user, index: true
  end
end
Run Code Online (Sandbox Code Playgroud)

但是我收到了一条错误消息:

undefined method 'add_reference'
Run Code Online (Sandbox Code Playgroud)

谁知道如何解决这个问题?

我正在使用Rails 3.2.13

activerecord ruby-on-rails

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

未捕获的TypeError:无法调用未定义的方法'on' - Backbone.js

我的应用程序中有一些错误,不知道为什么.

Uncaught TypeError: Cannot call method 'on' of undefined 
Run Code Online (Sandbox Code Playgroud)

它发生在我的集合视图中,请遵循以下代码:

App.WorkoutsView = Backbone.View.extend({
    initialize: function(){
        this.collection.on('add', this.addOne, this);
        this.collection.on('reset', this.addAll, this);
    },

    render: function() {
        this.addAll();
        return this;
    },

    addAll: function() {
        this.$el.empty();
        this.collection.forEach(this.addOne, this);
    },

    addOne: function(Workout) {
        var workoutView = new App.WorkoutView({model: App.Workout});
        this.$el.append(workoutView.render().el);
    }
});
Run Code Online (Sandbox Code Playgroud)

问题在于:

this.collection.on('add', this.addOne, this);
Run Code Online (Sandbox Code Playgroud)

谁知道为什么?

**编辑:收集代码**

App.WorkoutItems = Backbone.Collection.extend({
    model: App.Workout,
    url: '/workouts',

    localStorage: function() {new Backbone.LocalStorage('Workout')},

    initialize: function() {
        this.on('remove', this.hideWorkout, this);
    },

    hideWorkout: function() {
        model.trigger('hide');
    },

    focusOnWorkoutItem: function() { …
Run Code Online (Sandbox Code Playgroud)

javascript jquery backbone.js

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

无法在ERB文件,Sinatra上添加CSS

我正在尝试将Twitter Bootstrap CSS添加到ERB文件并与Sinatra一起运行,但CSS不会显示.

我的代码:

<link rel="stylesheet" href="/lib/bootstrap/css/bootstrap.min.css">
Run Code Online (Sandbox Code Playgroud)

我的文件夹结构在代码中是相同的.

我已经试过href="lib/...href="../lib/...不工作

有解决方案吗

html css erb sinatra

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