2015-02-10 3 views
0

* Я уже пробовал adding config.action_controller.action_on_unpermitted_parameters = :raise to my development environment.Сильные параметры, не работающие в Rails 4.1.7?

* Я проверил this answer, но версия Rails Guide, которую я использую, не включает этот метод post_params, поэтому я ничего не требую.

Я прохожу через Rails Guides по частям, и я смущен, почему сильные параметры, похоже, не включены для меня. Моя версия Rails - это 4.1.7, я полагаю, что до сих пор я делал буквально каждый шаг Rails Guide, и все же, когда я отправляю информацию через форму без наличия сильных параметров, я не поднимаю запрещенные атрибуты ошибка, и моя база данных содержит записи, отправленные в нее. Не должно ли сильное требование params препятствовать любому входу в мою базу данных?

Я не уверен, что я сделал что-то неправильно или если он работает так, как должно быть, и я неправильно понял суть дела. Руководство Rails говорит, что я должен видеть сообщение об ошибке в моем браузере о Forbidden Attributes, но все, что я вижу, - «Действие« show »не найдено для ArticlesController.»

У меня есть форма в new.html.erb:

<%= form_for :articles, url: articles_path do |f| %> 
<p> 
    <%= f.label :title %><br> 
    <%= f.text_field :title %> 
</p> 
<p> 
    <%= f.label :text %><br> 
    <%= f.text_area :text %> 
</p> 
<p> 
    <%= f.submit %> 
</p> 

И создать метод в articles_controller.rb:

class ArticlesController < ApplicationController 

    def new 
    end 

    def create 
     @article = Article.new(params[:article]) 

     @article.save! 
     redirect_to @article 
    end 
end 

Любое объяснение/понимание будет оценено.

ответ

1

Похоже, вам нужно показать действие в контроллере статей:

#articles_controller 
def show 
    @article = Article.find(params[:id]) 
end 
+0

Спасибо, я добавил, что, как хорошо, но не идти. Все еще не получается ошибка. Я также могу добавить новую запись в мою базу данных, которая, как я думал, не должна была произойти? – js225

+1

А я вижу. Ты прав. Эта ошибка должна быть поднята. Я заметил, что в вашей форме у вас есть «form_for: articles», но в учебнике это «form_form: article» (не плюрализовано) - может быть, это вызывает эту странную проблему? – trosborn

+0

Так оно и было, спасибо! Мне жаль, что я не понял, почему записи вставляются в мою базу данных даже с этой ошибкой, но по крайней мере теперь я знаю, что это не проблема. – js225

Смежные вопросы