Ruby on rails 3.2 Rails验证-具有相关模型属性的自定义错误消息
我有一个具有如下属性的支出模型:[code>:user\u id,Ruby on rails 3.2 Rails验证-具有相关模型属性的自定义错误消息,ruby-on-rails-3.2,Ruby On Rails 3.2,我有一个具有如下属性的支出模型:[code>:user\u id,:activity\u id,:date,…] 关系包括: expense belongs_to user expense belongs_to activity 我有以下验证 validates :activity_id, uniqueness: scope: [:user_id, :date], message: "Expense for 'activity_name' on date '1/1/2012' is alrea
:activity\u id
,:date
,…]
关系包括:
expense belongs_to user
expense belongs_to activity
我有以下验证
validates :activity_id, uniqueness: scope: [:user_id, :date], message: "Expense for 'activity_name' on date '1/1/2012' is already entered"
如何将
activity\u name
和date
放入错误消息中?您可以使用:message
属性。这里是内联方法
validates :activity_id, :uniqueness => {:scope => [:user_id, :date], :message => "Expense for "+ activity_name + " on date " + date + " is already entered"}
您可以使用
:message
属性。这里是内联方法
validates :activity_id, :uniqueness => {:scope => [:user_id, :date], :message => "Expense for "+ activity_name + " on date " + date + " is already entered"}
另一种方法(非内联)是:
在型号代码中:
validates :activity_id, uniqueness: => {scope: [:user_id, :date], :message => "error is here"}
视图代码:
= form_for(@expense) do |f|
- if @expense.errors.any?
= pluralize(@expense.errors.count, "error")
prohibited this link from being saved:
%ul
-@expense.errors.full_messages.each do |msg|
- if msg[0,12] == "error is here"
= "Expense for "+ params[:activity_name] + " on date " + params[:date] + " is already entered"
params[:activity\u name]
是访问输入数据的正确方法。另一种方法(非内联)是:
在型号代码中:
validates :activity_id, uniqueness: => {scope: [:user_id, :date], :message => "error is here"}
视图代码:
= form_for(@expense) do |f|
- if @expense.errors.any?
= pluralize(@expense.errors.count, "error")
prohibited this link from being saved:
%ul
-@expense.errors.full_messages.each do |msg|
- if msg[0,12] == "error is here"
= "Expense for "+ params[:activity_name] + " on date " + params[:date] + " is already entered"
params[:activity\u name]
是访问输入数据的正确方法。这是我的问题,如何将这些值添加到消息中。我会编辑我的qs如果它不清楚我喜欢这个想法。但我想知道是否有解决方案,这不是一个解决办法。这似乎是一个黑客,我不能在提交多个嵌套属性的表单中这样做。我在模型本身中寻找解决方案。我尝试过对消息使用Procs,但没有成功。无论如何,你的方法很好:)@桑托什在线解决方案已经找到。请检查一下。我看到你的编辑后回复了。我想从模型本身添加自定义错误消息。不添加一些消息并使用条件在视图中显示其他内容。这是我的问题,如何将这些值添加到消息中。我会编辑我的qs如果它不清楚我喜欢这个想法。但我想知道是否有解决方案,这不是一个解决办法。这似乎是一个黑客,我不能在提交多个嵌套属性的表单中这样做。我在模型本身中寻找解决方案。我尝试过对消息使用Procs,但没有成功。无论如何,你的方法很好:)@桑托什在线解决方案已经找到。请检查一下。我看到你的编辑后回复了。我想从模型本身添加自定义错误消息。不添加某些消息并使用条件在视图中显示其他内容。