2013-07-19 15 views
9

मैं क्या एक उपचारात्मक प्रश्न हो सकता है पूछने के लिए माफी चाहता हूँ, लेकिन सीखने रेल में मैं इस ट्यूटोरियल में टिप्पणी के लिए टिप्पणी के साथ पालन करने के लिए कोशिश कर रहा था:बग: सिंटैक्स त्रुटि, अप्रत्याशित ':', उम्मीद keyword_end

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

मैं अनुभाग 5.7 के लिए छी हूँ - पोस्ट के परिणाम दिखा रहा है, के रूप में निर्देश दिए मैं routes.rb करने

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

और 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 

मेरी routes.rb फ़ाइल

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 

यहाँ है त्रुटि है:

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

मैं 64 बिट विंडोज़ 8

वैसे मैं पर रेल 4.0, माणिक 2.0 चला रहा हूँ पता नहीं है कि path.rb में कौन सी रेखा करने की कोशिश कर रहा है, लेकिन मेरा लक्ष्य विषय को पूर्ण बोर में खोदने से पहले, इसे टाइप करना और पिकअप करना था। मैंने लाइन को काटकर चिपकाया, इसे टाइप किया, और कुछ चीजों को बदलने की कोशिश की - परिणाम के बिना।

मैं थक गया हूं, और बेवकूफ महसूस कर रहा हूं, इसलिए मैं आपकी मदद मांग रहा हूं।

अग्रिम धन्यवाद।

+0

अच्छा सवाल! मुझे यह वही समस्या थी, और मुझे लगता है कि आपका प्रश्न खोज स्थान में केवल एक ही है जो इसे संबोधित करता है। –

उत्तर

12

धारा 5.7 में यह पंक्ति आपको केवल rake routes का आउटपुट दिखा रही है, यह आपकी कॉन्फ़िगरेशन/path.rb फ़ाइल में नहीं है।

लाइन resources :posts routes.rb में, आप के लिए शो पदों मार्ग उत्पन्न लाइन को हटाने के द्वारा इसका परीक्षण: post GET /posts/:id(.:format) posts#show और उसके बाद कमांड लाइन पर rake routes चल रहा है।

+0

धन्यवाद। मैं इसके लिए नया हूं, और मेरे जीवन के लिए वे चाहते थे कि वे मुझे मार्गों में जोड़ना चाहते हैं। इसे ट्यूटोरियल के बाकी हिस्सों को आसान बनाना चाहिए। समय सीमा के बाद मैं स्वीकार करूंगा। – akaphenom

+2

कोई चिंता नहीं, मैंने उस ट्यूटोरियल के माध्यम से पढ़ा और यह बहुत अस्पष्ट है कि वह रेखा कहाँ से आई थी और आपको इसके साथ क्या करना है! – Shevaun

+0

वह लाइन कहां है? अपडेट: मैं देखता हूं ...यह रेक मार्ग –

2

मैं इसे इस दोपहर :)

सीखने मैं तुम्हारा के रूप में ही त्रुटि थी और मैं जिस तरह से मार्गों के भीतर सुझाव दिया शैली के लिए लिखा गया है बदलकर इसे हल गहरे लाल रंग का दुनिया मैं शुरू कर दिया है करने के लिए नए कर रहा हूँ routes.rb फ़ाइल।

बजाय पर क्या लिखा गया है कि ट्यूटोरियल नकल की है और इस अतीत अपने 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 

को बचाने और अपने पदों यूआरएल जाँच करें कि ट्यूटोरियल पर सुझाव के रूप में

http://localhost:3000/posts 

यह काम करना चाहिए तुम्हारे लिए।

+1

आपको वास्तव में उन 'पिछली दो पंक्तियों को अपनी' rout.rb' फ़ाइल में नहीं चाहिए, क्योंकि लाइन 'संसाधन: पोस्ट' के लिए सभी 7 मार्ग उत्पन्न करता है आप: अनुक्रमणिका, नया, बनाएं, दिखाएं, संपादित करें, अपडेट करें और नष्ट करें – Shevaun

संबंधित मुद्दे