Rails 4强参数ActiveModel :: ForbiddenAttributesError

时间:2013-10-18 18:38:19

标签: activerecord ruby-on-rails-4 mass-assignment strong-parameters

由于某些原因,在我当前的控制器中,我得到ActiveModel :: ForbiddenAttributesError,即使我相信我正在使用强参数。虽然我正在使用许可证!暂时允许所有模型属性。请参阅下面的代码,我缺少什么

class HeuristicsController < ApplicationController

    def index
        @heuristics         = Heuristic.order(:name).page params[:page]
        @heuristic      = Heuristic.new
    end

    def create
        @heuristic = Heuristic.new(params[:heuristic])
        if @heuristic.save
            redirect_to action: 'index', :flash => {:success => "New heuristic created!" }
        else
            render 'new'
        end
    end

    def new
        @title              = "Heuristic"
        @heuristic          = Heuristic.new
    end

    private

    def heuristic_params
        params.require(:heuristic).permit!      
    end

end

1 个答案:

答案 0 :(得分:2)

我认为你并没有完全理解强对抗的工作方式......

你有一个方法

def heuristic_params
    params.require(:heuristic).permit!      
end

你没有使用它

Heuristic.new(params[:heuristic])