首页 文章

未初始化的常量ApplicationController :: PermittedParams强参数

提问于
浏览
0

不知道我哪里出错,我搜索了很多谷歌搜索,但也不知道我做错了什么 .

My Application Controller

class ApplicationController < ActionController::Base

helper_method :clipboard, :current_user, :signed_in?, :permitted_params

def permitted_params
  @permitted_params ||= PermittedParams.new(params, current_user)       
end

My Model Permitted_Param.rb

class PermittedParams < Struct.new(:params, :current_user)
   %w{folder group share_link user user_file}.each do |model_name|
     define_method model_name do
       params.require(model_name.to_sym).permit(*send("#{model_name}_attributes"))
     end   
   end

   def folder_attributes
     [:name]   
   end

   def group_attributes
     [:name]   
   end

   def share_link_attributes
     [:emails, :link_expires_at, :message]   
   end

   def user_attributes
     if current_user && current_user.member_of_admins?
       [:name, :email, :password, :password_confirmation, { :group_ids => [] }]
     else
       [:name, :email, :password, :password_confirmation]
     end   
   end

   def user_file_attributes
     [:attachment, :attachment_file_name]   
   end 
end

Log

在2015-04-16 19:37:02 0530开始获取“/”for 127.0.0.1 ActiveRecord :: SchemaMigration Load(0.6ms)SELECT“schema_migrations” . * FROM“schema_migrations”FoldersController处理#index为HTML用户加载(0.5ms)SELECT“users” . * FROM“users”WHERE“users” . “is_admin”=? LIMIT 1 [[“is_admin”,“t”]]重定向到http:// localhost:3000 / admins / new过滤链停止为:require_admin_in_system呈现或重定向完成302在207ms中找到(ActiveRecord:1.0ms)已启动GET“/ admins / new“for for 127.0.0.1 at 2015-04-16 19:37:03 0530由AdminsController处理#new为HTML用户加载(0.2ms)SELECT”users“ . * FROM”users“WHERE”users“ . ”is_admin “=? LIMIT 1 [[“is_admin”,“t”]]在布局/应用程序内呈现admins / new.html.erb(331.3ms)用户加载(0.4ms)SELECT“users” . * FROM“users”WHERE“users” . “id”IS NULL LIMIT 1渲染共享/ _header.html.erb(21.3ms)CACHE(0.1ms)SELECT“users” . * FROM“users”WHERE“users” . “id”IS NULL LIMIT 1渲染共享/ _menu .html.erb(8.4ms)渲染共享/ _footer.html.erb(0.8ms)在1789ms完成200 OK(浏览次数:1707.5ms | ActiveRecord:1.7ms)在2015-04开始POST“/ admins”为127.0.0.1 -16 19:37:19 0530由AdminsController处理#create as HTML参数:{“utf8”=>“✓”,“authenticity_token”=>“5VPDMdM6Cny63T00tcgU55ukkDD9XChTqwWjAJ7IUZ0ELh6D5c7UhbpbOKdQ3atdaNIaBVk5AxctcC0j09pcvQ ==”,“user”=> {“name”=>“ ChiragArya“,”email“=>”edwardmaya008@gmail.com“,”password“=>”[FILTERED]“,”password_confirmation“=>”[FILTERED]“},”commit“=>”创建管理员帐户“}用户负载(0.4ms)SELECT“users” . * FROM“users”WHERE“users” . “is_admin”=? LIMIT 1 [[“is_admin”,“t”]]在26ms内完成500内部服务器错误(ActiveRecord:0.4ms)NameError(未初始化的常量ApplicationController :: PermittedParams):app / controllers / application_controller.rb:26:在allowed_params的应用程序中/controllers/admins_controller.rb:10:in呈现/home/chirag/.rvm/gems/ruby-2.2.2/gems/actionpack-4.2.1/lib/action_dispatch/middleware/templates/rescues/_source.erb(54.9 ms)渲染/home/chirag/.rvm/gems/ruby-2.2.2/gems/actionpack-4.2.1/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb(35.3ms)渲染/ home / chirag / .rvm / gems / ruby-2.2.2 / gems / actionpack-4.2.1 / lib / action_dispatch / middleware / templates / rescues / _request_and_response.html.erb(10.4ms)呈现/home/chirag/.rvm/gems救援/布局中的/ruby-2.2.2/gems/actionpack-4.2.1/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb(227.5ms)

1 回答

  • 0

    我遇到了同样的问题,我将我的强参数函数名称重命名为 controllername _params后解决了

    我不知道提到哪里,但我很想知道 .

相关问题