2016-09-19 71 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