Douglasrg Posted May 26, 2014 at 09:53 PM Report #557057 Posted May 26, 2014 at 09:53 PM 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..
n3lThon Posted May 27, 2014 at 10:26 AM Report #557080 Posted May 27, 2014 at 10:26 AM 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. 1 Report dreams.each do |dream| dream.make_it_happen end
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now