我有这个jQuery
函数,它返回当前时间作为自纪元(1970年1月1日)以来的毫秒数:
time = new Date().getTime();
Run Code Online (Sandbox Code Playgroud)
有没有办法在Ruby中做同样的事情?
现在,我正在使用Ruby Time.now.to_i
,它工作得很好,但返回一个10位整数(秒数)
如何让它显示毫秒数,如jQuery
?
在我的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 获取每个记录的最新记录?
解决方案可能很简单,但我无法理解这一点.
谢谢你的帮助.
我最近升级到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) 在我,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.erb
和index.csv.erb
不存在的.
第一个链接有效,即Excel文件下载到用户的计算机.但是,CSV文件在浏览器中呈现,而不是下载.
我还必须做些什么才能让用户下载CSV文件?
谢谢你的帮助.
在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中可用.
谢谢你的帮助.
我是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) 出于好奇,有没有办法说这个...
user.update_column(:field1, true)
user.update_column(:field2, true)
Run Code Online (Sandbox Code Playgroud)
...在Ruby on Rails中的一行?
据我所知,一种update_columns
方法不存在......
我有一个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) 在我的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