Создать link_to в контроллере

Мне нужно передать уведомление диспетчеру, и я хочу, если можно создать ссылку на уведомление.

Мой контроллер:

format.html { redirect_to purchase_order_headers_path, notice: 'PO already has RR with RR ID: ' + rr.rr_id + ', void RR first.' }

Есть ли способ, чтобы я мог сделать это, чтобы [rr.rr_id] стал ссылкой, поэтому, когда пользователь нажмет на него, перейдет на страницу? Так как link_to вернет ошибку "undefined method", если поставить на контроллер.

Спасибо.

Ответ 1

если вы используете рельсы 3, вы можете использовать view_context.link_to(...) в своем контроллере.

UPDATE: с кодом format.html

format.html do
  redirect_to purchase_order_headers_path, notice: "PO already has RR with RR ID: #{view_context.link_to(rr.rr_id, receiving_record_header_path(rr.id))} void RR first.".html_safe
end

Ответ 2

Используйте #{ActionController::Base.helpers.link_to 'rr.rr_id', '/url'}.html_safe

Сделать ссылку в контроллерах. Чтобы строка отображалась как html (вместо экранирования), вызовите метод html_safe в строке