2017-05-06 4 views
0

Lorsque j'utilise link_to dans des railsurl incorrect dans l'aide link_to

Je sais que la forme est

link_to "Profile", profile_path(@profile) 
# => <a href="/profiles/1">Profile</a> 

mais dans mon code

<% @posts.each do |post|%> 
    <h2><%=post.title %></h2> 
    <p><%= post.content%></p> 
    <%=link_to "show", posts_path(post.id) %> 
<%end%> 

J'attends mon URL ressemble posts/1 mais il était posts.1

+0

vous essayez 'peut <% = link_to "show", posts_path (post)%>' –

+0

désolé, il ne fonctionne pas :-( –

+0

peut vous partagez votre fichier routes.rb, vous devez ajouter post_path (post) dans votre fichier html – tjs7706

Répondre

0

Essayez <%=link_to "show", post_path(post) %>

post pas posts. Voir ici http://guides.rubyonrails.org/routing.html

+0

OMG ... Merci beaucoup ... –

+0

Ce serait bien si vous pouvez décrire le problème et votre réponse, pour recueillir plus de votes upvotes . –

0

link_to est livré avec la syntaxe/signature link_to(name = nil, options = nil, html_options = nil, &block) Ce qui crée une balise de lien du nom donné à l'aide d'une URL créée par l'ensemble des options.

Signatures;

link_to(body, url, html_options = {}) 
    # url is a String; you can use URL helpers like 
    # posts_path 

link_to(body, url_options = {}, html_options = {}) 
    # url_options, except :method, is passed to url_for 

link_to(options = {}, html_options = {}) do 
    # name 
end 

link_to(url, html_options = {}) do 
    # name 
end 

je vais prendre le même exemple de votre question,

Cette link_to "Profile", profile_path(@profile) crée chemin;

# => <a href="/profiles/1">Profile</a> 

alors que, <%=link_to "show", posts_path(post.id) %> crée

# => <a href="/profiles.1">show</a> 

Autres options pour créer des itinéraires appropriés sont les suivantes;

link_to "Profile", @profile 
# => <a href="/profiles/1">Profile</a> 

link_to "Profile", controller: "profiles", action: "show", id: @profile 
# => <a href="/profiles/show/1">Profile</a> 

Espérons que cela pourrait vous aider à voir autrement ce link_to apidoc