如何在rails上的ruby中访问控制器中的param值?

Nit*_*ths -4 ruby ruby-on-rails-3.2

我有一个任务来访问创建新用户的param值.我的控制器代码是create

def newstudent
    @student = Student.new(params)
   puts "+++++++++++"
   puts params.inspect

    if @student.save 
    respond_to do |format|
      format.html # new.html.erb
      format.json { render :json => @jtable }
    end
    end
  end
Run Code Online (Sandbox Code Playgroud)

但通过这样做我终端有一些错误.它显示这样

ActiveModel::MassAssignmentSecurity::Error (Can't mass-assign protected attributes: action, controller):
  app/controllers/students_controller.rb:42:in `new'
  app/controllers/students_controller.rb:42:in `newstudent'
Run Code Online (Sandbox Code Playgroud)

请帮帮我解决问题?

Nit*_*ths 5

这是我添加新学生的控制器.通过获取该错误消息,您必须使用@student = Student.new(params.reject {|key,value| key =="controller" || key =="action"})代码拒绝控制器和操作 .

 def newstudent
        @student = Student.new(params.reject {|key,value| key =="controller" || key =="action"})

        if @student.save 
          @jtable = {'Result' => 'OK','Record' => @student.attributes}
        else
         @jtable = {'Result' => 'ERROR','Message'=>'Empty'}
        end  
        respond_to do |format|
          format.html # new.html.erb
          format.json { render :json => @jtable }
        end

      end
Run Code Online (Sandbox Code Playgroud)