在控制器中创建一个link_to

时间:2013-02-21 06:42:03

标签: ruby-on-rails 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"

感谢。

2 个答案:

答案 0 :(得分:23)

如果您使用的是rails 3,则可以在控制器中使用view_context.link_to(...)

更新:使用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

答案 1 :(得分:6)

使用#{ActionController::Base.helpers.link_to 'rr.rr_id', '/url'}.html_safe

在控制器中建立链接。 要使字符串显示为html(而不是被转义),请在字符串上调用html_safe方法