Shingara годов ответ помогает вам с частью «link_to», но она по-прежнему падает со стороны «contact_path». Мое решение:
validates_acceptance_of :not_an_agency, :on => :create,
:message => lambda {|e,f| "must be confirmed. If you are an agency please <a href=\"#{Rails.application.routes.url_helpers.contact_path}\">Contact Us</a>".html_safe}
Я выбираю только тип <a href.../>
, а не делать в include ActionView::Helpers::UrlHelper
. Это зависит от вас.
Также обратите внимание на .html_safe
. Это на самом деле бесполезно, потому что Rails теряет его, когда он добавляет имя поля, и вам придется снова сделать его безопасным с точки зрения. Но я все равно надеялся, что Rails в конечном итоге исправит эту часть разбитости.
И я не знаю, что такое | e, f | для. Я должен был вставить их, чтобы исправить ошибочную ошибку несогласованного аргумента.
Спасибо за быстрый ответ. Я попробовал ваше решение Rails 3, но все равно получаю ту же ошибку - неопределенная локальная переменная или метод 'contact_path 'для # –
BTW есть небольшая опечатка, которая не закрыла строку после« Свяжитесь с нами » –
Я обновляю свой ответ с помощью исправления опечатки. Так что это больше, чем включать :) – shingara