Jump to content

Adicionar nova rota


Recommended Posts

Douglasrg

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..

Link to post
Share on other sites

Ao utilizares o scaffolding estás a criar rotas dinâmicas que seguem o CRUD (http://guides.rubyonrails.org/routing.html, ponto 2.2). O que acontece é que ao invés de executar o método teste ele vai executar o método show e assumir que teste é o id.

Para seguires o modelo MVC não podes fazer dessa forma, no rails tens de criar um controlador para páginas "singulares". Caso tenhas trabalhado com o laravel nele consegues retornar directamente vistas nas rotas mas no rails não, tens de ter sempre o controlador.

O que eu faço é criar o controlador Pages e depois cada método (vista) deste controlador é uma página simples como por exemplo contactos ou mesmo a página inicial.

  • Vote 1

dreams.each do |dream|

   dream.make_it_happen

end

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.