2016-01-04 2 views
0

J'ai une méthode link_to dans mon application Rails:Supprimer un paramètre d'URL

link_to t('edit'), edit_building_path(@building, :hidden_action => params[:action]) 

Comment supprimer hidden_action de url?

url Actuellement ressemble:

http://localhost:3000/buildings/2/edit?hidden_action=new 

Mon problème est que je dois savoir à partir de laquelle l'utilisateur page accède cette link_to.

+0

La question n'est pas claire pour moi. Si vous ne voulez pas le paramètre 'hidden_action' dans l'URL, ne l'ajoutez pas en tant que paramètre dans l'appel de la méthode. –

+0

J'ai besoin d'un paramètre hidden_action pour la prochaine utilisation dans le contrôleur – Zelenka

+0

Puis passez-le via la session. –

Répondre

1

Helper rails, cela dépend de vous

def edit_the_building_url(building, you_want_the_params_or_not) 
    if you_want_the_params_or_not 
    edit_building_path(building, :hidden_action => params[:action]) 
    else 
    edit_building_path(building) 
    end 
end 

puis dans votre contrôleur

link_to t('edit'), edit_the_building_url(@building, true) 

ou

link_to t('edit'), edit_the_building_url(@building, false) 

si ci-dessus ne vous profite pas, juste

url = url.chomp("?hidden_action=#{params[:action]}")