我有一个User模型和一个Message模型。我的message表有created_for列和created_by列,它们都是User表的外键。
我目前正在收到以下错误消息:
undefined methodcreated_for_id‘表示#’
如何才能使它工作,而不必将列更改为created_for_id和created_by_id
class User < ActiveRecord::Base
has_one :message
end
class Message < ActiveRecord::Base
#belongs_to :user
bel
我有一个属于另一个模型的Rails 3模型"D“,该模型依次属于另外两个模型,如下所示:
D belongs to C
C belongs to B
B belongs to A
我使用MongoDB/Mongomapper作为我的ORM。
当我尝试实例化D时,我得到一个错误:
ruby-1.9.2-preview3 > d = D.new
SystemStackError: stack level too deep
from /Users/peter/.rvm/rubies/ruby-1.9.2-preview3/lib/ruby/1.9.1/irb/workspace.rb:
我知道我可以用i18n解决这个问题,如果我有时间,我会尝试这样做,但为了更快地解决这个问题,我很好奇:有没有办法将属性名称添加到rails验证错误中?例如,我的模型中包含以下内容:
validates_presence_of :name
呈现的验证错误是can't be blank。我更喜欢说Name can't be blank。
在获取表单中字段的错误类时,我在获取自定义消息时遇到了问题。
例如:
errors.add(:first_name, 'must not be blank')
当first name为空时,它会添加field_with_errors的div,并在提交表单失败时添加“First name不能为空”的消息。
errors.add(:base, 'First name must not be blank')
无法突出显示字段,但允许显示完全可自定义的消息。
有没有(更简单的?)如何让rails将类添加到first_name字段,同时还具有完全可定制的消息?
我有一个名为Package的模型,这段代码位于Admin::PackagesController中。
def new
@package = Package.new
end
这会抛出一个带有消息“未定义的方法‘[]’for nil:NilClass‘”的NoMethodError,突出显示定义@package的行。
当我为变量使用另一个名称或在Rails控制台中运行相同的行时,不会发生相同的错误。
这是Rails 4,控制器的全部代码如下所示。
class Admin::PackagesController < ApplicationController
def index
给定以下类:
using System.ComponentModel.DataAnnotations;
public class Book{
public Contact PrimaryContact{get; set;}
public Contact SecondaryContact{get; set;}
[Required(ErrorMessage="Book name is required")]
public string Name{get; set;}
}
public class Contact{
[Required(ErrorM
在我的grails应用程序中,我使用GORM。我想为每个类定制错误消息。假设我有这样一个类:
class City {
String name
Region regiao
District district
static belongsTo = District
static constraints = {
regiao(blank: false, nullable:false)
district(blank: false, nullable:false)
name(blank: false, nul
在Rails应用程序中,如何迁移我在模型中所做的更改?例如,我知道如果我使用命令"rails g model Person name:string“创建一个模型,那么也会创建一个迁移。但是,如果在这一步之后,我转到创建的模型"Person“并添加了一个新属性,这个新属性是否会自动添加到迁移中,以便以后在数据库中保留?或者我从错误的角度看待这个问题,应该将属性添加到迁移中,然后再添加到模型中?
问候
我在Rails与模型关联方面有一个奇怪的错误。
有一张名为"Book“的表格,里面有许多”新闻“(表"New")。但是,当我将关联添加到模型中时,会出现以下错误:
rails未初始化常量Book::News (NameError)
图书模型:
class Book < ApplicationRecord
belongs_to :editor
belongs_to :author, optional: false
has_many :news, dependent: :destroy
end
新型号:
class New < Applicati
如果我有这样的模特:
class Person < ActiveRecord::Base
validates_presence_of :name, :login, :email
end
在视图表单中,如果我将例如电子邮件空留并提交表单,Rails的错误消息将是:
email can't be blank.
我想知道,如何为Rails内置验证帮助程序定制此错误消息?
我的意思是我希望:name,:login字段使用默认的错误消息,但只希望:email引发类似于"You have to provide email address“的消息。如何做到这一点?
我使用的是
假设此模型:
Public Class Detail
...
<DisplayName("Custom DisplayName")>
<Required(ErrorMessage:="Custom ErrorMessage")>
Public Property PercentChange As Integer
...
end class
视图:
@Html.TextBoxFor(Function(m) m.PercentChange)
将继续执行此html:
<input data-va
我的rails应用程序目前有两个模型user和transaction user has_many :transactions
transaction belong_to :user
class Transaction < ApplicationRecord
belongs_to :user
end 我可以在我的应用程序中很好地创建用户,但是当我创建事务时,它总是显示错误消息TypeError (no implicit conversion of nil into Integer),即使记录创建成功。 ? irb(main):007:0> t = Transact
? 我想在laravel上定制这个验证消息,我不知道该怎么做。 我用它来显示错误 @if ($errors->any())
<div class="alert alert-danger">
<strong>Whoops!</strong> There were some problems with your input.<br><br>
<ul>
@foreach ($errors->all() as $error)
如何返回rails中空白字段的自定义消息?
validates_presence_of :name, :description, :message => "Please fill in the required fields."
如果这两个实例都是空的,则返回两个错误消息实例。我只想要它回来一次。
这个是可能的吗?
我有这些模型,但是当我做一个Message.last.people或Message.last.recipient_lists时,我会得到一个错误。如何引用带有活动记录的邮件的收件人列表或人员?我需要做RecipientList.where(:message => Message.last)吗?似乎应该有更好的方法通过.message来做到这一点吗?
class Message < ActiveRecord::Base
has_many :people, through: :recipient_list
end
class Person < ActiveRecor