2015-04-16 28 views
0

不知道我在哪裏得到錯誤,我搜索了很多谷歌搜索,也在SO,但我不明白我做錯了什麼。未初始化的常量ApplicationController :: PermittedParams強參數

在我的應用程序控制器

class ApplicationController < ActionController::Base 

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

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

我的模型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 

登錄

入門使用 「/」 爲127.0.0.1 2015-04-16 19:37:02 +0530
ActiveRecord :: SchemaMigration加載(0.6ms)SELECT 「schema_migrations」。* FROM「schema_migrations」處理 FoldersController#索引作爲HTML用戶加載(0.5ms)SELECT「用戶「。* 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」爲127.0。 0.1在 2015-04-16 19:37:03 +0530由AdminsController處理#新爲HTML
用戶負載(0.2ms)SELECT「users」。* FROM「users」WHERE 「users」。「is_admin」= ? LIMIT 1 [[「is_admin」,「t」]]在佈局/應用程序(331.3ms)內呈現 admins/new.html.erb用戶負載 (0.4ms)SELECT「users」。* FROM「users」WHERE「users 」。 「ID」 是NULL LIMIT 1呈現的共享/ _header.html.erb(21.3ms)CACHE(0.1毫秒) SELECT 「用戶」。* FROM 「用戶」 WHERE 「用戶」, 「ID」 是NULL LIMIT 1
呈現的共享/ _menu.html.erb渲染 (8.4ms)共享/ _footer.html.erb(爲0.8ms)完成200 OK在1789ms(查看: 1707.5ms |的ActiveRecord: 1.7ms) 開始POST「/管理員 「爲127.0.0.1在2015年4月16日19點37分19秒0530處理由AdminsController#創建以HTML參數: { 」UTF8「=> 」✓「, 」authenticity_token「=>」 5VPDMdM6C ny63T00tcgU55ukkDD9XChTQwWjAJ7IUZ0ELh6D5c7UhbpbOKdQ3atdaNIaBVk5AxctcC0j09pcvQ ==」, 「用戶」=> { 「名稱」=> 「ChiragArya」, 「電子郵件」=> 「[email protected]」, 「密碼」=> 「[FILTERED]」, 「password_confirmation」= >「[FILTERED]」}, 「commit」=>「創建管理帳戶」}用戶負載(0.4ms)SELECT 「users」。* FROM「users」WHERE「users」。「is_admin」=? LIMIT 1 [[ 「is_admin」, 「T」]]已完成500內部服務器錯誤在26ms (ActiveRecord的:0.4ms) NameError(未初始化常數ApplicationController中:: PermittedParams):
應用程序/控制器/ application_controller.rb:26 :在permitted_params'
app/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.9ms)呈現 /home/chirag/.rvm/gems/ruby​​-2.2.2/gems/actionpack-4.2.1/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb(35.3ms)Rendered /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)渲染內救援/佈局(227編 /home/chirag/.rvm/gems/ruby-2.2.2/gems/actionpack-4.2.1/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb 。5毫秒)

+4

你的文件放置在哪裏?分享完整路線。此外,您的Permitted_Param.rb應該叫Permitted_Params.rb –

+1

@RafadeCastro,因爲它是紅寶石,它應該是卡列斯'permitted_pa​​rams.rb'(小寫) –

+0

@RafadeCastro我,而不是改變PermittedParam在控制器的方法和完美的,但現在工作在註冊成爲管理員之後,我在登錄時遇到了另一個錯誤。 我已經克隆了此應用程序 https://github.com/mischa78/boxroom 文件夾中的NoMethodError#show <%if permission.group。 admins_group? - %> –

回答

0

我得到了同樣的問題,我解決了重命名我的強烈參數函數名後controllername _params

我不知道哪裏是提及,但我很想知道。

相關問題