2013-07-01 5 views
5

Właśnie próbowałem Ruby on Rails z samouczkiem Getting Started with Rails. Po wykonaniu wszystkich kroków, ale nadal otrzymuję błąd TypeError w PostsController # create.TypeError w samouczku Getting Started with Rails

Dzieje się tak, gdy jestem w kroku 5.6 Zapisywanie danych w kontrolerze.

My PostsController.rb wygląda następująco:

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 

i jestem na localhost: 3000/posty/nowy. Mam żądania POST i nie jest on z następujących czynności:

nie można przekonwertować symbolu do String

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

wystąpił ten błąd podczas ładowania następujące pliki: zakładać

Możesz znaleźć cały mój kod na my GitHub repo.

Proszę o pomoc :(

+0

Witamy StackOverflow! Aby uzyskać szybszą odpowiedź, najlepiej umieścić we wpisie wszystkie odpowiednie sekcje kodu. – claptimes

+0

Awh, istnieje oddzielny samouczek specjalnie dla Rails 3.2.xx. Po tych krokach rozwiązuje to. http://guides.rubyonrails.org/v3.2.13/getting_started.html –

Odpowiedz

7

Używasz wersji 3.2.xx szyn, szyn wersji 3.2.xx nie obejmują strong_parameters Gem

Należy pamiętać, że def post_params jest prywatny. To nowe podejście uniemożliwia atakujący od ustawiania atrybutów modelki manipulując hash przekazany do modelu. aby uzyskać więcej informacji, zapoznaj się z tym blogu o Strong Parameters.


  1. Dodaj gem "strong_parameters" do Gemfile, a następnie uruchomić bundle install

  2. obejmują ActiveModel::ForbiddenAttributesProtection modelu lub utwórz config/initializers/strong_parameters.rb i umieścić to:

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

  3. config.active_record.whitelist_attributes = false w config/application.rb

https://github.com/rails/strong_parameters

Powiązane problemy