2015-02-10 26 views
0

*我已經試過adding config.action_controller.action_on_unpermitted_parameters = :raise to my development environment強壯的參數在Rails 4.1.7中不起作用?

*我檢查了this answer,但我使用的Rails指南的版本不包含post_params方法,所以我沒有要求任何東西。

我正在逐一瀏覽Rails指南,我很困惑爲什麼強大的參數似乎沒有爲我啓用。我的Rails版本是4.1.7,我相信我已經完成了Rails指南的每一步,但是當我通過表單提交信息而沒有設置強參數時,我沒有提出禁止的屬性錯誤和我的數據庫有條目發送到它。強大的參數要求不應阻止任何類型的數據進入我的數據庫?

我不確定自己是否做了不正確的事情,或者是否應該如此操作,我誤解了這一點。 Rails指南說我應該在我的瀏覽器中看到有關Forbidden Attributes的錯誤消息,但是我看到的是「The Actions'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一個create方法:

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 2015-02-10 22:25:51

+1

啊我明白了。你是對的。應該提出這個錯誤。我注意到你的表單中有「form_for:articles」,但在教程中它是「form_form:article」(不是複數形式) - 也許這是造成這個奇怪的問題? – trosborn 2015-02-10 22:39:17

+0

就是這樣,謝謝!我希望我明白爲什麼條目會插入到我的數據庫中,即使出現這種錯誤,但至少現在我知道這不是一個大問題。 – js225 2015-02-10 22:53:07