2013-07-01 10 views
5

के साथ शुरू करने में टाइपरर मैं Getting Started with Rails ट्यूटोरियल के साथ रेल पर रूबी को आजमा रहा था। मैंने सभी चरणों का पालन किया लेकिन मुझे त्रुटि प्राप्त हो रही है PostController में TypeError # बनाएँ।रेल ट्यूटोरियल

ऐसा तब होता है जब मैं नियंत्रक में डेटा 5.6 सहेज रहा हूं।

मेरे PostsController.rb इस तरह दिखता है:

class PostsController < ApplicationController 

    def new 
    end 

    def create 
    @post = Post.new(post_params) 

    @post.save 
    redirect_to @post 
    end 

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

और मैं स्थानीय होस्ट पर हूँ: 3000/पदों/नई। मैं एक पोस्ट का अनुरोध कर रहा हूँ और यह निम्नलिखित के साथ विफल:

जबकि निम्न फ़ाइलें लोड हो रहा है स्ट्रिंग

app/controllers/posts_controller.rb:15:in `post_params' 
app/controllers/posts_controller.rb:7:in `create' 

में प्रतीक परिवर्तित नहीं कर सकते यह त्रुटि हुई: पोस्ट

आप मेरा सभी कोड my GitHub repo पर पा सकते हैं।

कृपया :(

+0

StackOverflow आपका स्वागत है! एक तेज प्रतिक्रिया के लिए, अपनी पोस्ट में कोड के सभी प्रासंगिक अनुभागों को पोस्ट करना सबसे अच्छा है। – claptimes

+0

ओह, विशेष रूप से रेल 3.2.xx के लिए एक अलग ट्यूटोरियल है। उन चरणों के बाद इसे हल करता है। http://guides.rubyonrails.org/v3.2.13/getting_started.html –

उत्तर

7

मदद आप रेल संस्करण 3.2.xx उपयोग कर रहे हैं, रेल संस्करण पर 3.2.xx strong_parameters मणि शामिल नहीं

ध्यान दें कि डीईएफ़ post_params निजी है। ये नवीन दृष्टिकोण एक से बचाता है हैश मॉडल के लिए पारित जोड़ तोड़ द्वारा मॉडल के गुणों को सेट करने से हमलावर। अधिक जानकारी के लिए इस ब्लॉग पोस्ट के बारे में Strong Parameters.

को देखें
  1. अपने Gemfile को gem "strong_parameters" जोड़ कर चलाने bundle install

  2. अपने मॉडल पर ActiveModel::ForbiddenAttributesProtection को शामिल करने या config/initializers/strong_parameters.rb बना सकते हैं और यह डाल:

    ActiveRecord::Base.send(:include, ActiveModel::ForbiddenAttributesProtection))

  3. में 10

https://github.com/rails/strong_parameters

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