【问题标题】:How can I include rails code inside a validation message?如何在验证消息中包含 Rails 代码?
【发布时间】:2010-09-06 21:17:55
【问题描述】:
validates_presence_of :match,
  :message => "for your name and password could not be found. Did you #{link_to "forget your password", help_person_path}?"

这就是我想做的。我可以插入模型中设置的变量,但使用像“link_to”这样的简单 Rails 代码似乎不起作用。这是一个无赖。

【问题讨论】:

    标签: ruby-on-rails ruby validation ruby-on-rails-3


    【解决方案1】:

    您不能也不应该从模型中调用 link_to 方法。但是,您可以像这样访问命名路由:

    class PostHack
        include Rails.application.routes.url_helpers
    end
    
    class Post < ActiveRecord::Base
        validates_presence_of :match, 
                              :message => "<a href='#{PostHack.new.send :admin_posts_path}'>My link</a>"
    end
    

    非常老套。希望大家不要使用。

    【讨论】:

    • 我不会。我发现无论如何登录页面上可能只有一个错误,所以我只是不显示模型错误并在我的视图中生成错误消息。
    猜你喜欢
    • 2011-05-31
    • 2010-10-22
    • 1970-01-01
    • 2012-08-24
    • 2021-02-24
    • 2017-12-31
    • 1970-01-01
    • 1970-01-01
    • 2021-05-09
    相关资源
    最近更新 更多