Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

-Jato

Adicionar nova rota

Recommended Posts

Comecei a estudar rails e me deparei com um problema.
Fiz o scaffold do meu projeto

rails generate scaffold posts blabla:text blablabla:text

até ai, tudo bem..
Então pensei "vou adicionar uma outra página na pasta do meu app"

criei a página teste.html.erb

a questão é que sempre que eu acesso a url localhost:3000/posts/teste me retorna um erro

Couldn't find Post with 'id'=teste

 

Procurei muito sobre isso e não achei nada que funcionasse de fato..
vi em um tutorial que era só adicionar no posts_controller.rb o código

def teste
end

Mas não funcionou também..

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então cara. Você tem que ver como está a sua rota...

Pelo que você disse, posso deduzir que ela está configurada com algo como "(:controller/:action/:id/.:format)"

Acho que você não está entendendo a forma como o Rails funciona.

 

Cada action, tem uma view com um nome idêntico. Está certo aí. Você tem a action teste, e criou a view teste. Só que não se acessa dessa forma na URL.

 

Verifica no routes.rb a forma como a rota está sendo tratada e posta aqui que tento ajudar :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

então cara, a única coisa no meu routes.rb que não está comentada é:

Rails.application.routes.draw do
  
  resources :testes

end

(eu fiz o scaffold usando o nome teste, ao invés de posts)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá uma olhada nisso:

 

http://guides.rubyonrails.org/routing.html#resources-on-the-web

 

Quando você usa o resources, ele te dá automaticamente 7 ações sobre o objeto em questão. Você tem que se adaptar a estas ações (mencionadas no item 2.2), ou usar o 'get'(se estiver usando Rails 4) pra criar uma rota específica.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.