Pergunta

Depois de seguir um tutorial Ive encontrado. Im agora refazer-lo novamente, sem a parte de andaimes, para aprendê-la melhor.

No entanto, a edição de meu \ app \ views \ home \ index.html.erb para conter:

<h1>Rails test project</h1>
<%= link_to "my blog", posts_path>

Eu recebo um erro:

undefined local variable or method `posts_path' for #<ActionView::Base:0x4e1d954>

Antes que eu fiz isso, eu corri rake db:create, definiu uma classe de migração e rake db:migrate correu, tudo sem nenhum problema.

Assim, o banco de dados deve conter uma tabela de mensagens. Mas esse comando link_to cant parecem encontrar posts_path. Essa variável (ou é mesmo uma função?) Provavelmente está definido através da rotina andaime.

A minha pergunta agora é; Como eu faço isso manualmente mim, definir posts_path?

Foi útil?

Solução

Você precisará definir um caminho para suas mensagens config/routes.rb

Rails 2.x sintaxe:

map.resources :posts

Rails 3.x sintaxe:

resources :posts

Outras dicas

Os métodos _path são gerados dinamicamente normalmente. O método de falta de erro ocorre quando não há uma rota para o objeto especificado ou neste caso, o método que você está chamando explicitamente.

A definição de uma rota deve corrigir isso. Hermand acima mostraram uma maneira de fazer isso.

Você pode executar 'rake routes' a partir da raiz de seus trilhos aplicativo para ver todas as rotas que estão configurados

<% = link_to "meu blog", posts_path>

Se isto é exatamente o que seu erb contido, está faltando o sinal de porcentagem no final do elemento scriptlet. Não tenho certeza se isso causou o problema, ou talvez eu estou levando as coisas muito literalmente ....

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top