- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我想从我的自定义验证消息中删除该属性并只显示该消息,而不是
School Please Provide Your School Name
我想回去
Please Provide Your School Name
在我这里的模型中设置
validates :school, presence: { message: 'Please Provide Your School Name' }
消息作为 JSON 响应返回。
查看 full_messages 方法
# File activemodel/lib/active_model/errors.rb, line 348
def full_messages
map { |attribute, message| full_message(attribute, message) }
end
我可以用
覆盖它吗# File activemodel/lib/active_model/errors.rb, line 348
def full_messages
map { |attribute, message| full_message(message) }
end
我试过了
module ActiveModel
class Errors
def full_messages
map { |attribute, message| full_message(message) }
end
end
end
位于 /lib/active_model/errors.rb
但是当我尝试运行我的测试(rspec)时我得到了错误
/home/richardlewis/.rvm/gems/ruby-2.2.0@lnf_api/gems/activemodel-4.2.0/lib/active_model/validations.rb:297:in `initialize': wrong number of arguments (1 for 0) (ArgumentError)
我将文件加载到我的 application.rb
config.autoload_paths += %W(#{config.root}/lib)
请问我该如何解决?
谢谢
编辑
Controller
class RegistrationsController < Devise::RegistrationsController
skip_before_action :verify_authenticity_token
respond_to :json
def create
@user = User.new(registration_params)
if @user.valid?
@user.save
render json: { message: I18n.t("devise.registrations.signed_up_but_unconfirmed") }, status: 201
else
render json: { message: @user.errors.full_messages }, status: :unprocessable_entity
end
end
protected
def registration_params
json_params = ActionController::Parameters.new(JSON.parse(request.body.read))
json_params.require(:user).permit(:username, :school, :email, :password, :password_confirmation)
end
end
最佳答案
full_message
需要两个参数 attribute
和 message
。
更新:避免猴子修补并编辑您的语言环境文件以使其具有如下内容:
en:
errors:
format: "%{message}"
关于ruby-on-rails - 自定义 ActiveModel full_messages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28985474/
我有一些 Graylog2 使用 syslog 输入插件接收的日志。 我需要以我收到的相同格式导出它们,无需任何解析,以便我可以发送给应用程序支持团队。 我已将 INPUT 设置为保留 full_ma
是否可以使用 Quickfilter 在 Graylog2 中搜索完整消息? 我可以成功搜索短消息,但似乎只能使用流过滤完整消息。 我需要过滤旧的完整消息,而新流仅应用于新消息。这个问题有什么解决办法
我想从我的自定义验证消息中删除该属性并只显示该消息,而不是 School Please Provide Your School Name 我想回去 Please Provide Your School
在 Rails 中,我可以这样做以获得完整的错误消息(包括属性名称) book.errors.full_messages.each do |err| puts err end 我的问题是,除了针对
这里有一个小问题。 我的闪光通知/警报位于[""] 在我的 Controller 中,如果未保存表单,我必须显示错误。 format.html { redirect_to new_project_p
这个问题已经困扰我一段时间了。我的所有模型都会出现此问题,但我将使用其中之一 Quiz 作为示例。 测验具有以下验证: validates_presence_of :size, :style 我正在使
我刚刚创建的 Rails 模型出现了一个奇怪的问题。 这是我的验证: validates_presence_of :from_name, :message => 'Please provide a f
我对无法保存的对象感到困惑,简化模型是 class Subscription "User", :foreign_key => "user_id" has_many :transactions, :c
我正在为我的用户模型编写简单的模型测试。其中之一检查是否存在 :email 属性: it "is invalid without an email" do expect(user = Us
我是一名优秀的程序员,十分优秀!