标签: activemodel

ActiveModel时间戳字段:时间戳来自哪里?

在Rail模型中,当添加/更新记录时,是rails服务器或数据库服务器上每个时钟给出的时间戳?

timestamp ruby-on-rails activemodel

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

为自定义attr_accessor获取未定义的方法`validates_presence_of'

我认为问题来自于这是一个自定义模型.

错误:

undefined method `validates_presence_of' for Calculation:Class
Run Code Online (Sandbox Code Playgroud)

我的型号:

class Calculation
  extend ActiveModel::Naming
  include ActiveModel::Conversion

  def persisted?
    false
  end

  attr_accessor :name, :docket_num, :payments, :our_file_num,
                :date_awarded, :date_paid, :amount_paid, :judgement_balance,
                :results, :total_interest, :per_diem, :lda

  validates_presence_of :date_awarded, :docket_num, :judgement_balance
Run Code Online (Sandbox Code Playgroud)

可能我需要包含或扩展以获得Rails验证?该项目属于铁路项目,但我手工构建了该模型.

有任何想法吗?

ruby validation ruby-on-rails activemodel

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

在database.yml中应该使用没有数据库的rails?

我使用rails3没有数据库,并想知道在database.yml中应该通过rake测试.它现在失败了.我还没有在文件中指定任何内容.我的模型将使用ActiveModel.

class User

  # https://github.com/rails/rails/tree/master/activemodel
  include ActiveModel::Validations
  include ActiveModel::Conversion
...

end
Run Code Online (Sandbox Code Playgroud)

跑耙测试:

runtime/lib/ruby/gems/1.8/gems/memory_test_fix-0.1.3/lib/memory_test_fix.rb:29:in `in_memory_database?': undefined method `[]' for false:FalseClass (NoMethodError)
...
Run Code Online (Sandbox Code Playgroud)

ruby activerecord ruby-on-rails activemodel ruby-on-rails-3

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

Rails 3:在哪里存储模型的共享方法?

我有一个方法"random_password",我希望能够从我的rails 3项目中的多个模型访问.我只是想知道在哪里存储它以及如何提供对它的访问的约定.任何帮助赞赏.

ruby-on-rails activemodel ruby-on-rails-3

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

ActiveModel :: SecurePassword未定义方法`password_digest ='

我尝试按照http://bcardarella.com/post/4668842452/exploring-rails-3-1-activemodel-securepassword使用rails 3.1 ActiveModel :: SecurePassword

我最后得到了红灯......

user.rb

class User < ActiveRecord::Base
  has_secure_password
  validates :password, :presence => { :on => :create }
end
Run Code Online (Sandbox Code Playgroud)

factory.rb

Factory.define :user do |f|
  f.email "foo@bar.com"
  f.password "foobar"
  f.password_confirmation { |u| u.password }  
end
Run Code Online (Sandbox Code Playgroud)

spec_user.rb

describe User do
  it "should authenticate with matching username and password" do
    user = Factory(:user, :email => 'frank@gmail.com', :password => 'secret')
    User.authenticate('frank@gmail.com', 'secret').should == user
  end
end
Run Code Online (Sandbox Code Playgroud)

我得到了红灯......

 Failure/Error: user = Factory(:user, :email => 'frank@gmail.com', :password => 'secret')
 NoMethodError:
   undefined …
Run Code Online (Sandbox Code Playgroud)

authentication activerecord ruby-on-rails activemodel ruby-on-rails-3.1

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

Rails:从模型中获取具有唯一性验证的属性列表

只是想知道是否可以返回具有唯一性验证的所有属性的列表?例如,我有一个模型Person - 我想返回'Person'中具有唯一性约束的属性列表.有任何想法吗?

validation ruby-on-rails activemodel

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

Rails 3和Mongoid:嵌入式文档验证

所以,我在嵌入式文档中遇到了一些用户身份验证问题.我有两个文件,一个嵌入另一个.一个企业有很多成员.模型看起来像这样:

class Member
  include Mongoid::Document

  field :username,        type: String
  field :password,           type: String
  embedded_in :business

  validates :username,  :presence => true, :uniqueness => true, :length => 5..60
end

class Business
  include Mongoid::Document

  field :name,            type: String
  embeds_many :members
end
Run Code Online (Sandbox Code Playgroud)

问题是它没有验证每个模型中用户名的唯一性.当我在一个企业中保存一个成员时,我可以保存一千个相同的名字.这当然不适用于良好的身份验证系统.我使用的是Mongoid 2,Rails 3和Ruby 1.9

ruby ruby-on-rails mongodb activemodel mongoid

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

Rails 活动模型序列化程序未设置 root

我有一个不是 ActiveRecord 对象的类,我正在尝试为它创建一个 AM 序列化程序。我可以返回正确的 json,但它不包括根

在我的控制器中有这个

format.json { render json: @current_user, root: "current_user" }
Run Code Online (Sandbox Code Playgroud)

我的班级看起来像这样

class CurrentUser 
  include ActiveModel::Validations
  include ActiveModel::Conversion
  extend ActiveModel::Naming

  attr_accessor :first_name, :last_name, :user_type, :user_id

end
Run Code Online (Sandbox Code Playgroud)

我也试过在控制器中添加这个

 def default_serializer_options
  {root: true}
 end
Run Code Online (Sandbox Code Playgroud)

但是我的 json 对象仍然没有 Ember 模型所需的根

返回对象

{"first_name":"Luke","last_name":"Skywalker","user_type":"Padawan","user_id":12}
Run Code Online (Sandbox Code Playgroud)

我需要

{current_user: {"first_name":"Luke","last_name":"Skywalker","user_type":"Padawan","user_id":12} }
Run Code Online (Sandbox Code Playgroud)

activemodel active-model-serializers

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

RoR:first_or_initialize块不保存

我有以下代码,工作正常,没有错误,但模型永远不会得到保存...

myarray.each do |item|

    r = MyModel.unscoped.where(:site_id => @site.id, :url => item['permalink_url']).first_or_initialize do |r|
        r.title              = 'asdasdadaddjfgnfd'
        r.save!
    end
end
Run Code Online (Sandbox Code Playgroud)

终端在尝试查找模型时显示SQL SELECT语句,但UPDATE/INSERT语句从不运行.

我在这里错过了什么?

ruby-on-rails activemodel

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

Admin :: ResidentsController中的NameError#destroy Rails

当我使用活动管理员删除常驻模型对象时,我收到名称错误

我有常驻模特:

class Resident < ActiveRecord::Base
  has_many :leaves,dependent: :delete_all
end
Run Code Online (Sandbox Code Playgroud)

第二个是离开模型:

class Leave < ActiveRecord::Base
  belongs_to :resident
end
Run Code Online (Sandbox Code Playgroud)

给我以下错误:

删除常驻时我得到的错误

此外导轨误解名字,并把它改为leafe ..所以我改名或者重构文件:装饰/ leafe_decorator.rb 装饰/ leave_decorator.rb

类似于装饰测试.

现在我再次通过我的整个代码搜索Leafe Keyword,但它不存在.仍然得到那个错误.我该怎么办 ?

ruby activerecord ruby-on-rails activemodel activeadmin

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