2013-07-19 10 views
9

przykro mi pytać, co może być pytanie zaradczych, ale w szynach uczenia starałem się podążać nuta po nucie w tym tutorialu:Bug w tutorialu: błąd składni, nieoczekiwany „:”, oczekując keyword_end

http://guides.rubyonrails.org/getting_started.html#configuration-gotchas

Jestem POŚ w rozdziale 5.7 - przedstawiający wyniki stanowisko, zgodnie z instrukcją dodać tę linię do routes.rb

post GET /posts/:id(.:format)  posts#show 

i sposób pokazania w posts_controller.rb:

class PostsController < ApplicationController 
    def new 
    end 

    def create 
    @post = Post.new (post_params) 
    @post.save 
    redirect_to @post 
    end 

    def show 
    @post = Post.find(params[:id]) 
    end 

    private 
    def post_params 
     params.require(:post).permit(:title, :text) 
    end 

end 

mój routes.rb plik jest

Listing::Application.routes.draw do 
    get "welcome/index" 

    post GET /posts/:id(.:format) posts#show 


    resources :posts 


    # You can have the root of your site routed with "root" 
    root 'welcome#index' 
end 

Tutaj jest błąd:

C:/Ruby-Projects/listing/config/routes.rb:4: syntax error, unexpected ':', expecting keyword_end post GET /posts/:id(.:format) posts#show ^

Rails.root: C:/Ruby-Projects/listing

Application Trace | Framework Trace | Full Trace This error occurred while loading the following files:
C:/Ruby-Projects/listing/config/routes.rb

używam szyn 4.0, Ruby 2.0 w 64-bitowym Windows 8.

Wprawdzie ja nie wiem, co próbuje zrobić ten wiersz w routes.rb, ale moim celem było napisanie tego i odebranie, co mogę, przed zagłębieniem się w temat pełnego otworu. wyciąłem i wkleiłem linię, wpisałem ją i próbowałem zmienić kilka rzeczy - bez rezultatów.

Jestem zmęczony i czuję się głupio, więc proszę o pomoc.

Z góry dziękuję.

+0

Dobre pytanie! Miałem ten sam problem i myślę, że twoje pytanie jest jedyne w przestrzeni wyszukiwania, które go rozwiązuje. –

Odpowiedz

12

Ten wiersz w sekcji 5.7 pokazuje tylko wynik rake routes, nie jest przeznaczony do pliku config/routes.rb.

Linia resources :posts w routes.rb generuje trasę postów dla ciebie, przetestuj ją, usuwając linię: post GET /posts/:id(.:format) posts#show, a następnie uruchamiając rake routes w linii poleceń.

+0

Dziękuję. Jestem nowy w tym, i na moje życie myślałem, że chcieli, żebym dodał to na trasach. Powinien ułatwić czytanie pozostałej części samouczka. Przyjmę po upływie terminu. – akaphenom

+2

Bez obaw, przeczytałem ten samouczek i nie jest jasne, skąd pochodzi ta linia i co z nią zrobić! – Shevaun

+0

Gdzie jest ta linia? AKTUALIZACJA: Widzę ...to powinno pochodzić z wyjścia z tras rake'u. –

2

Jestem nowy w świecie rubinowym zacząłem się go uczyć tego popołudnia :)

miałem ten sam błąd jak ty i ja go rozwiązać poprzez zmianę sposobu trasy zostały napisane do sugerowanej stylu obrębie plik routes.rb.

zamiast tego, co zostało napisane na tym tutoriale kopiować i przeszłość to do swojego routes.rb

Blog::Application.routes.draw do 
    get "welcome/index" 
resources :posts 
    root 'welcome#index' 
    get '/posts/:id(.:format)' => 'posts#show' 
get '/posts(.:format)'  => 'posts#index' 
end 

zapisać i sprawdzić swoje posty url jak sugeruje w tym tutoriale

http://localhost:3000/posts 

powinno działać dla Ciebie.

+1

W rzeczywistości nie potrzebujesz tych dwóch ostatnich linii w pliku' routes.rb', ponieważ wiersz 'resources: posts' generuje wszystkie 7 tras dla Ty: indeksuj, twórz, wyświetlaj, edytuj, aktualizuj i niszcz – Shevaun

Powiązane problemy