2014-12-13 6 views
0

Так я после одного урока, который, очевидно, сделано в рельсах 3 и я использую рельсы 4. Я получаю эту ошибку:ActiveModel :: ForbiddenAttributesError - сильные параметры

ActiveModel::ForbiddenAttributesError

С помощью этого кода:

def create 
    @movie = Movie.create!(params[:movie]) 
    flash[:notice] = "#{@movie.title} was successfully created." 
    redirect_to movies_path 
end 

Очевидно, что что-то с сильными парами

ответ

2

Вы должны убедиться, что все атрибуты, необходимые для создания Movie находятся в белом списке.

Определите метод, как это в вашем контроллере:

private 
def movie_params 
    params.require(:movie).permit(:title, :rating, :release_date) 
end 

И затем передать результат метода в create!:

def create 
    @movie = Movie.create!(movie_params) 
    # ... 
end 

Read more about strong parameters in the Rails documentation.

+0

Спасибо, я попытался это сделать, но теперь я получаю эту ошибку: неправильное количество аргументов (3 для 0..1) – Lovr

+0

Это не говорит много. Можете ли вы опубликовать строку кода, где происходит ошибка? – fivedigit

+0

Agian же строка кода только теперь выглядит так: @movie = Movie.create! (: Title,: rating,: release_date) – Lovr