2013-02-21 16 views
10

Ho bisogno di passare un avviso a una vista dal controller, e voglio se è possibile creare qualche collegamento anche all'avviso.creare un link_to nel controller

mio regolatore:

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

Esiste un modo così posso fare in modo che il [rr.rr_id] diventerà un collegamento in modo che quando l'utente fa clic su di esso andrà ad esso di pagina? Dal link_to verrà restituito l'errore "undefined method" se inserito sul controller.

Grazie.

risposta

22

se si utilizzano i binari 3, è possibile utilizzare view_context.link_to(...) nel controller.

UPDATE: con il codice 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 
+0

Perché quando uso 'view_context.link_to()' restituisce la propria azione? dammi il 'RR-1301-0001', ma ho bisogno di essere 'RR-1301-0001' – ksugiarto

+0

che era solo un esempio. devi usare gli argomenti pass per link_to. per esempio, quel link che vuoi, lo scrivi come 'view_context.link_to ('RR-1301-0001', '/ receiving_record_headers/1')'. puoi, ovviamente, utilizzare percorsi denominati per l'url :) – jvnill

+0

Fatto signore, e risultato 'PO ha già RR con ID RR: +" RR-1301-0001 "+, vuoto RR prima., haha ​​dove devo scambiare? Questo è il mio ultimo codice 'format.html {redirect_to purchase_order_headers_path, avviso: 'PO ha già RR con RR ID:' + ActionController :: Base.helpers.link_to (rr.rr_id, receiving_record_header_path (rr.id)). Html_safe + ' prima vengo RR. ' } ' – ksugiarto

5

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

Per rendere link nel vostro controller. Per visualizzare la stringa come html (anziché essere scappato), chiamare il metodo html_safe sulla stringa

+0

Non riesco a convertire quello per essere un HTML tag signore, mi confondo quindi a riguardo. Scusa, mi piacciono i principianti, signore. Grazie comunque :) – ksugiarto

+0

In realtà il risultato finale che provo con 'format.html {redirect_to purchase_order_headers_path, avviso: 'PO ha già RR con RR ID:' + ActionController :: Base.helpers.link_to (rr.rr_id, receiving_record_header_path (rr .id)). html_safe + ', prima RR vuoto.' } 'anche lo stesso risultato su html come quello che commento su @ risposta jvnill, dove confondo? – ksugiarto

Problemi correlati