小编Oss*_*Oss的帖子

Rails 3 ActiveRecord:按关联计数排序

我有一个名为的模型Song.我也有一个名为的模型Listen.A Listen belongs_to :song,和一首歌:has_many listens(可以多次收听).

在我的模型中,我想定义一个方法self.top,该方法应该返回最多听过的前5首歌曲.如何使用这种has_many关系实现这一目标?

我正在使用Rails 3.1.

谢谢!

mysql activerecord ruby-on-rails ruby-on-rails-3

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

使用.scale()调整HTML画布的大小

我正在尝试<canvas>使用已绘制的图像来调整a的大小,但是我误会了该canvas.scale()方法的使用方法,因为它不会缩小...

码:

ImageRender.prototype.resizeTo = function () {

    var canvas          = $('#myCanvas')[0];
    var ctx             = canvas.getContext("2d");

    //current image
    var currImg         = ctx.getImageData(0, 0, canvas.width, canvas.height);

    //
    var tempCanvas      = $('canvas')[0];
    var tempCtx         = tempCanvas.getContext("2d");
    tempCtx.putImageData(currImg, 0, 0)

    //
    ctx.scale(0.5, 0.5);

    //redraw
    ctx.drawImage(tempCanvas, 0, 0);
  };
Run Code Online (Sandbox Code Playgroud)

我在俯视什么?

谢谢!

javascript html5 canvas

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

更改 Rails create 中的 PostgreSQL 默认 ID 序列

我有一个 sql 转储文件,已导入到我的数据库中。此 sql 转储中的所有记录的 id 都从 900 开始到 2500。

所以问题是,如果我从 Rails 应用程序创建新记录,它将自动获得 id = 1,下一个将获得 2,3,4 等。我想当我创建 900s 记录时,我会得到一个错误,因为 id=900 已经存在。

注意:我无法在 sql 转储文件中将我的 id 更改为从 1 开始,因为另一个表通过 id 引用它。

有什么解决办法吗?

我使用 PostgreSQL

postgresql ruby-on-rails

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

Rails javascript资产表现奇怪,具体取决于路由

我正在学习Rails,我想在我的项目中使用angular.

这是一个从头开始的简单应用程序.

1).创建一个新的rails应用程序:

rails new hello_rails
Run Code Online (Sandbox Code Playgroud)

2).将angular gem添加到Gemfile

gem 'angularjs-rails'
Run Code Online (Sandbox Code Playgroud)

3).安装捆绑包

bundle install
Run Code Online (Sandbox Code Playgroud)

4).将角度添加到javascript清单中app/assets/javascripts/application.js

//=require angular
Run Code Online (Sandbox Code Playgroud)

5).生成欢迎索引

rails generate controller welcome index
Run Code Online (Sandbox Code Playgroud)

6).使用角度hello世界填充index.html.erb

 <div style = "background-color: grey">
    this is index.html.erb<br>

  <div ng-app="">
    <p>Name : <input type="text" ng-model="name"></p>
    <h1>Hello {{name}}</h1>
</div>

</div>
Run Code Online (Sandbox Code Playgroud)

7).同时修改application.html.erb

<pre>
<!DOCTYPE html>
<html>
<head>
  <title>HelloRails</title>
  <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
  <%= csrf_meta_tags %>
</head>
<body style = "background-color:green">

  This is application.html.erb <br>

   <%= …
Run Code Online (Sandbox Code Playgroud)

javascript ruby-on-rails asset-pipeline angularjs ruby-on-rails-4

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

使用Capistrano进行部署时,Rails 5控制台无法正常工作

我正在使用Rails 5,我已经通过Capistrano在服务器上部署了我的应用程序.由于特定需要loadchema,我ssh in和cd到release/###目录并尝试运行

rails --version#出来5.0.3beta

捆绑#工作,一切安装

rails c#但是失败了

运行rails db:migrate也失败了.

它似乎返回rails通用帮助,因为我的目录不是rails目录.

我尝试删除bin文件夹,但仍然相同.有谁知道什么可能是错的?

在此输入图像描述

谢谢

capistrano ruby-on-rails ruby-on-rails-5

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

如何按小时排序日期时间:分钟(忽略日期)

我需要@events按小时订购,没有日期。我有代码:

<% @events.sort_by(&:start_time).each do |event| %>
    <%= event.start_time.strftime('%H:%M') %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

结果是:

02:00 # => 2015-11-27 02:00:00 +0200
03:05 # => 2015-11-27 03:05:00 +0200
04:00 # => 2015-11-27 04:00:00 +0200
`03:45 # => 2015-12-04 03:45:00 +0200`
Run Code Online (Sandbox Code Playgroud)

需要的结果是:

02:00 # => 2015-11-27 02:00:00 +0200
03:05 # => 2015-11-27 03:05:00 +0200
'03:45 # => 2015-12-04 03:45:00 +0200'
04:00 # => 2015-11-27 04:00:00 +0200
Run Code Online (Sandbox Code Playgroud)

问题是最后一行有一个更新的日期。我怎样才能对@events上面的结果进行排序?

ruby datetime ruby-on-rails

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

Gulp错误:无法找到模块browserify

运行gulp时出现上述错误.

无法弄清楚为什么.我已经阅读了一些内容,例如gulp.src需要一个./ infront of app.

var gulp       = require('gulp'),
browserify = require('gulp-browserify');

gulp.task('scripts', function () {

gulp.src(['./app/main.js'])
    .pipe(browserify({
        debug: true,
        transform: [ 'reactify' ]
    }))
    .pipe(gulp.dest('./public/'));

});

gulp.task('default', ['scripts']);
Run Code Online (Sandbox Code Playgroud)

像这样......

我已经完成了npm安装,所以节点模块应该是它所在的位置.值得指出的是它在节点模块中称为gulp-browserify.

我在mac上全局安装了browserify.

让我知道您的想法,或者是否有任何信息遗失.

我是新手做出反应并试图将node.js设置为后端并创建一个反应环境.

javascript node.js browserify gulp

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