2016-09-19 34 views
0
Parameters: {"utf8"=>"✓", "authenticity_token"=>"yULNPCbrSyV/AeJqx9Phvg4yk7pWMjJ5BYpm4JVLr0SZ3zZdvEmvSUjKGqgH9XOwFEoS07wG5d9vrilsyntpCA==", "task"=>{"title"=>"smtp", "complexity"=>"high", "best_case_estimation"=>"333", "worst_case_estimation"=>"33"}, "button"=>"", "project_lead_id"=>"94", "task_module_id"=>"11"} 
+2

請詳細說明 –

回答

1

它被稱爲「強參數」,由Rails實現,以幫助確保某些參數不會被觸摸,除非它們應該是。看看你的參數,你有一個任務對象(所以任務形式)被提交,所以如果你想通過「質量分配」更新對象,你必須將這些參數列入白名單。關於這個問題有很多文檔,我強烈建議熟悉這個概念,因爲它的使用非常繁重。什麼,你會想要做的就是在你的控制器以下幾點:

private 

def task_params 
    params.require(:task).permit(:complexity, :title, :best_case_estimation) 
end 

確保在底部,因爲它指出了專用線以下的所有方法,將實際上被認爲是「私人」的方法來添加此。現在,您可以在該控制器的「創建」操作中添加如下內容:

def create 
     @task = Task.new(task_params) 
     if @task.save 
     #stuff here 
     else 

     end 
    end