小编leo*_*nel的帖子

将时间戳添加到现有表

我需要将时间戳(created_at updated_at)添加到现有表.我尝试了以下代码,但它没有用.我也尝试过我在网上找到的其他解决方案,但它们也不起作用.

class AddTimestampsToUser < ActiveRecord::Migration
    def change_table
        add_timestamps(:users)
    end
end
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

ruby ruby-on-rails rails-migrations rails-activerecord

161
推荐指数
12
解决办法
8万
查看次数

Rails 3.如何以编辑形式显示两个小数位?

我有这个编辑表格.

但是当我存储诸如1.5的东西时,我想将它显示为1.50.

我怎么能用表单助手呢? <%= f.text_field :cost, :class => 'cost' %>

ruby forms ruby-on-rails ruby-on-rails-3

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

Rails 3.如何添加ActiveAdmin将使用的帮助程序?

我正在创建一个由Formtastic使用的帮助器,但是我得到了undefined local variable or method错误.我不知道在哪里放它所以它可以工作.

我已经尝试过application_helper.rb和app/helpers/active_admin/view_helpers.rb

ruby ruby-on-rails helpers activeadmin

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

Rails 3.如何获得两个数组之间的差异?

假设我有这个带有出货ID的数组.

s = Shipment.find(:all, :select => "id")

[#<Shipment id: 1>, #<Shipment id: 2>, #<Shipment id: 3>, #<Shipment id: 4>, #<Shipment id: 5>]
Run Code Online (Sandbox Code Playgroud)

带有货件ID的发票数组

i = Invoice.find(:all, :select => "id, shipment_id")

[#<Invoice id: 98, shipment_id: 2>, #<Invoice id: 99, shipment_id: 3>]
Run Code Online (Sandbox Code Playgroud)
  • 发票属于Shipment.
  • 装运有一个发票.
  • 因此,发票表有一列shipment_id.

要创建发票,我点击新发票,然后有一个包含发货的选择菜单,所以我可以选择"我为哪个发货创建发票".所以我只想显示尚未为其创建发票的货件清单.

所以我需要一组没有发票的货件.在上面的例子中,答案是1,4,5.

ruby arrays ruby-on-rails

48
推荐指数
7
解决办法
4万
查看次数

轨.如何存储时间(按计划)?

我正在编写一个跟踪学校课程的应用程序.

我需要存储时间表.例如:周一至周五上午8点至上午11点.

我正在考虑使用一个简单的字符串列,但我将需要稍后进行时间计算.

例如,我需要存储8am的表示,例如start_at:8am end_at:11am

我该如何存储时间呢?我应该使用什么数据类型?我应该存储开始时间和秒数或分钟数,然后从那里计算?或者有更简单的方法吗?

我使用MySQL进行生产,使用SQLite进行开发.

ruby ruby-on-rails

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

我怎样才能找到Phusion Passenger版本?

我怎样才能找到我的Phusion Passenger版本?有没有可以从终端运行的命令?

ruby deployment ruby-on-rails passenger

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

tmp中的权限被拒绝

我刚刚使用Ruby 1.9.2部署了一个Rails 3应用程序.我遇到了几个错误.

  1. application.css没编译.所以我将pre compilation设置production.rb为false;
  2. 然后我得到了:cannot generate tempfile所以我做了rake tmp:clear;
  3. 而现在我得到了ActionView::Template::Error (Permission denied - /srv/www/appname/tmp/cache/assets):,我无法解决这个问题.

请帮忙.

ruby ruby-on-rails

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

Ruby除非&&声明

我在application_controller.rb中有以下内容

def layout
  unless request.subdomain.empty? && current_user.nil?
    self.class.layout 'admin'
  end
end
Run Code Online (Sandbox Code Playgroud)

看来它上面的代码不起作用.但是,当我执行以下操作时,它确实有效.

def layout
  unless request.subdomain.empty?
    unless current_user.nil?
      self.class.layout 'admin'
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我想通过删除一个除非声明来简化代码.我怎么能这样做?

ruby ruby-on-rails

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

Rails 3.如何在模型中将数字显式舍入到两位小数?

可能重复:
Rails 3.如何以编辑形式显示两个小数位?

我知道我可以使用sprintf来限制小数点后两位.

当我在表格中或表格中重新显示价格时,有时候我会得到80而不是80.00.从价格输入数据库的那一刻起,只用两位小数存储价格会不会更好?这样,无论何时显示,它总是会显示两位小数.如果是这样,怎么样?

ruby ruby-on-rails

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

Rails 3:验证至少一个的存在有很多通过关联项

我有两个型号:ProjectProjectDiscipline:

class Project < ActiveRecord::Base
  has_many :project_disciplinizations, :dependent => :destroy
  has_many :project_disciplines, through: :project_disciplinizations
  attr_accessible :project_discipline_ids
  attr_accessible :project_disciplines_attributes
  accepts_nested_attributes_for :project_disciplines, :reject_if => proc { |attributes| attributes['name'].blank? }
end

class ProjectDiscipline < ActiveRecord::Base
  attr_accessible :name
  has_many :project_disciplinizations, :dependent => :destroy
  has_many :projects, through: :project_disciplinizations
end

class ProjectDisciplinization < ActiveRecord::Base
  attr_accessible :project_discipline_id, :project_id
  belongs_to :project_discipline
  belongs_to :project
end
Run Code Online (Sandbox Code Playgroud)

在新/编辑Project表单上,我有一个学科列表和每个学科的复选框,以便用户可以选择学科:

<div class="control-group">
  <label class="control-label">Check disciplines that apply</label>
  <div class="controls">
    <%= f.collection_check_boxes(:project_discipline_ids, ProjectDiscipline.order('name'), :id, :name, {}, {:class => …
Run Code Online (Sandbox Code Playgroud)

ruby validation ruby-on-rails associations has-many-through

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