小编Tin*_*n81的帖子

如何在Ruby中将当前时间作为13位整数?

我有这个jQuery函数,它返回当前时间作为自纪元(1970年1月1日)以来的毫秒数:

time = new Date().getTime();
Run Code Online (Sandbox Code Playgroud)

有没有办法在Ruby中做同样的事情?

现在,我正在使用Ruby Time.now.to_i,它工作得很好,但返回一个10位整数(秒数)

如何让它显示毫秒数,如jQuery

ruby

80
推荐指数
6
解决办法
6万
查看次数

如何从ActiveRecord中获取每组的最新记录?

在我的Ruby on Rails应用程序中,我有一个像这样的数据库结构:

Project.create(:group => "1", :date => "2014-01-01")
Project.create(:group => "1", :date => "2014-01-02")
Project.create(:group => "1", :date => "2014-01-03")

Project.create(:group => "2", :date => "2014-01-01")
Project.create(:group => "2", :date => "2014-01-02")
Project.create(:group => "2", :date => "2014-01-03")

# and so forth...
Run Code Online (Sandbox Code Playgroud)

如何group使用ActiveRecord 获取每个记录的最新记录?

解决方案可能很简单,但我无法理解这一点.

谢谢你的帮助.

ruby activerecord ruby-on-rails

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

为什么运行Rspec时会出现未定义的方法'have'错误?

我最近升级到Rails 4,一切正常,除了我的Rspec测试.

require 'spec_helper'

describe Invoice do

  before :each do
    @user = FactoryGirl.create(:activated_user)
    person = FactoryGirl.create(:person, :user => @user, :company => nil)
    @project = FactoryGirl.create(:project, :user => @user, :person_ids => [person.id], :invoice_recipient_id => person.id)
  end

  it "has a valid factory" do
    expect(FactoryGirl.build(:invoice, :project => @project, :user => @user)).to be_valid
  end

  it "is invalid without a number" do
    expect(FactoryGirl.build(:invoice, :project => @project, :user => @user, :number => nil)).to have(1).errors_on(:number)
  end

end
Run Code Online (Sandbox Code Playgroud)

运行这些测试时,我收到此错误:

Failure/Error: expect(FactoryGirl.build(:invoice, :project => @project, :user => @user, :number …
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails ruby-on-rails-4 factory-bot

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

如何在Ruby on Rails中下载CSV文件?

在我,InvoicesController我有这个:

def index
  @invoices = current_user.invoices
  respond_to do |format|
    format.html
    format.xls
    format.csv # not working!
  end
end
Run Code Online (Sandbox Code Playgroud)

在我index.html.erb看来,我有这两个下载链接:

<%= link_to "Download as Excel", invoices_path(:format => "xsl") %>
<%= link_to "Download as CSV", invoices_path(:format => "csv") %>
Run Code Online (Sandbox Code Playgroud)

模板index.xsl.erbindex.csv.erb不存在的.

第一个链接有效,即Excel文件下载到用户的计算机.但是,CSV文件在浏览器中呈现,而不是下载.

我还必须做些什么才能让用户下载CSV文件?

谢谢你的帮助.

ruby csv ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2

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

如何在共享主机上运行SASS或LESS?

我想在CSS中使用变量,所以我考虑使用SASSLESS来达到这个目的.

我的问题,然而,就是我将部署一个共享的主机,该项目不是一个专用的主机与命令行访问.

我也不喜欢我的用户必须使用Javascript在他们的浏览器中编译CSS文件的想法.(如果他们禁用了Javascript怎么办?)

处理这种情况的最佳方法是什么?我到底要不得不诉诸普通的旧CSS?我希望不是...

sass css3 less

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

在Rails 3中使用update_columns?

在Rails 3中有没有更短的方法?

user.update_column(:attribute1, value1)
user.update_column(:attribute2, value2)
user.update_column(:attribute3, value3)
user.update_column(:attribute4, value4)
Run Code Online (Sandbox Code Playgroud)

我试过update_columns但它只在Rails 4中可用.

谢谢你的帮助.

ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2

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

如何在XSLT中获得以下兄弟

我是XSLT的新手,这是我的XML:

<projects>
    <project>
        <number>1</number>
        <title>Project X</title>
    </project>
    <project>
        <number>2</number>
        <title>Project Y</title>
    </project>
    <project>
        <number>3</number>
        <title>Project Z</title>
    </project>
</projects>
Run Code Online (Sandbox Code Playgroud)

如果我有一个项目并希望得到它后面的兄弟,我该怎么做?

这段代码似乎对我不起作用:

/projects[title="Project X"]/following-sibling
Run Code Online (Sandbox Code Playgroud)

xml xslt xpath

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

如何更新Ruby on Rails 3中的多个列?

出于好奇,有没有办法说这个...

user.update_column(:field1, true)
user.update_column(:field2, true)
Run Code Online (Sandbox Code Playgroud)

...在Ruby on Rails中的一行?

据我所知,一种update_columns方法不存在......

ruby ruby-on-rails-3 ruby-on-rails-3.2

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

如何在Ruby on Rails中使用FactoryGirl创建具有嵌套属性的测试对象?

我有一个Invoice可能包含许多模型的模型Items:

class Invoice < ActiveRecord::Base

  attr_accessible :number, :date, :recipient, :items_attributes

  belongs_to :user

  has_many :items

  accepts_nested_attributes_for :items, :reject_if => :all_blank, :allow_destroy => true

end
Run Code Online (Sandbox Code Playgroud)

我试图使用RSpec测试这个:

describe InvoicesController do

  describe 'user access' do

    before :each do
      @user = FactoryGirl.create(:user)
      @invoice = @user.invoices.create(FactoryGirl.attributes_for(:invoice))
      sign_in(@user)
    end

    it "renders the :show view" do
      get :show
      expect(response).to render_template :show
    end

  end

end
Run Code Online (Sandbox Code Playgroud)

不幸的是,此测试(以及所有其他测试)失败并显示来自RSpec的此错误消息:

Failure/Error: @invoice = @user.invoices.create(FactoryGirl.attributes_for(:invoice))
ActiveModel::MassAssignmentSecurity::Error:
Can't mass-assign protected attributes: items
Run Code Online (Sandbox Code Playgroud)

如何创建包含可通过测试的项目的发票?

我正在使用FactoryGirl来制作这样的对象:

factory :invoice do
  number { Random.new.rand(0..1000000) } …
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails rspec2 ruby-on-rails-3 factory-bot

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

在Ruby on Rails中为rake任务和测试文件放置辅助函数的位置?

在我的Rails应用程序中,我有一个文件sample_data.rb内部/lib/tasks以及我/spec目录中的一堆测试文件.

所有这些文件通常共享通用功能,例如:

def random_address
  [Faker::Address.street_address, Faker::Address.city].join("\n")
end
Run Code Online (Sandbox Code Playgroud)

我应该把这些辅助功能放在哪里?对此有什么约定吗?

谢谢你的帮助!

ruby rake-task ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2

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