强大的参数在Rails 4.1.7中不起作用?

时间:2015-02-10 22:02:29

标签: ruby-on-rails-4

*我已经尝试了adding config.action_controller.action_on_unpermitted_parameters = :raise to my development environment

*我检查了this answer,但我使用的Rails指南的版本并没有包含post_params方法,所以我没有任何要求。

我逐个浏览了Rails指南,我很困惑为什么强力的params似乎没有为我启用。我的Rails版本是4.1.7,我相信到目前为止我已完成Rails指南的每一步,但是当我通过表单提交信息而没有设置强大的参数时,我不是提出Forbidden Attributes错误,我的数据库正在发送条目。强烈的params要求是否应该阻止任何类型的数据库进入?

我不确定我是否做错了什么或者它是否按照应有的方式运作,我误解了这一点。 Rails指南说我应该在浏览器中看到有关禁止属性的错误消息,但我所看到的只是"动作'显示'找不到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 个答案:

答案 0 :(得分:1)

听起来您需要在文章控制器中执行show动作:

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