在Rail模型中,当添加/更新记录时,是rails服务器或数据库服务器上每个时钟给出的时间戳?
我认为问题来自于这是一个自定义模型.
错误:
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验证?该项目属于铁路项目,但我手工构建了该模型.
有任何想法吗?
我使用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) 我有一个方法"random_password",我希望能够从我的rails 3项目中的多个模型访问.我只是想知道在哪里存储它以及如何提供对它的访问的约定.任何帮助赞赏.
我尝试按照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
只是想知道是否可以返回具有唯一性验证的所有属性的列表?例如,我有一个模型Person - 我想返回'Person'中具有唯一性约束的属性列表.有任何想法吗?
所以,我在嵌入式文档中遇到了一些用户身份验证问题.我有两个文件,一个嵌入另一个.一个企业有很多成员.模型看起来像这样:
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
我有一个不是 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) 我有以下代码,工作正常,没有错误,但模型永远不会得到保存...
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语句从不运行.
我在这里错过了什么?
当我使用活动管理员删除常驻模型对象时,我收到名称错误
我有常驻模特:
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,但它不存在.仍然得到那个错误.我该怎么办 ?
activemodel ×10
ruby ×4
activerecord ×3
validation ×2
activeadmin ×1
mongodb ×1
mongoid ×1
timestamp ×1