无法在 rails 中将记录保存/更新到数据库中

马莱拉·斯里普拉卡什

我正在尝试更新 rails 中列 IsValid 和 Comments 的记录,但没有在后端更新或出现任何错误:

以下是我的参数结果:

Started PATCH "/metrics/1" for 
Processing by MetricsController#update as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"1oC/1UdAaTPUepy1zIjO1x6n67Th/pdcnvYJH95cB63tZts9d135JIK4MzQD2/pdPoRKnUKXIc0ZI9MQZkjfNQ==", 
  "metrics_controller"=>{"IsValid"=>"False", "Comments"=>"1"}, "commit"=>"Save", "id"=>"1"}
  Metric Load (75.1ms)  SELECT  `Threshold`.* FROM `Threshold` WHERE `Threshold`.`ID` = 1 LIMIT 1
Unpermitted parameters: utf8, _method, authenticity_token, metrics_controller, commit, id
   (75.7ms)  BEGIN
   (75.1ms)  COMMIT

在此处输入图片说明

控制器中的更新方法:

 def update
        @metric = Metric.find(params[:id])
        #if(@metric.update(post_params))
        if(@metric.update_attributes(post_params))
          redirect_to metrics_path
        else
          render 'edit'
        end
      end
       private def post_params
    params.permit(:Metric, :WI, :Value, :UT, :Score, :IsValid, :UserName, :Comments)
  end

如果我使用以下代码更新 post_params 方法,则会引发错误:

private def post_params
    params.require(:metric).permit(:Metric, :WI, :Value, :UT, :Score, :IsValid, :UserName, :Comments)
  end
凯夫查

来自请求(来自日志)的参数是:

{
  "utf8"=>"✓",
  "authenticity_token"=>"1oC/1UdAaTPUepy1zIjO1x6n67Th..",
  "metrics_controller"=> {
    "IsValid"=>"False",
    "Comments"=>"1"
  },
  "commit"=>"Save",
  "id"=>"1"
}

所以钥匙isValid在钥匙下metrics_controller然后,有了这种即将到来的数据,在您的控制器中,您应该调用

params
  .require(:metrics_controller)
  .permit(:IsValid, :Comments, :id)

您应该注意命名约定(snake_case 而不是 CamelCase),但最重要的是负责此请求的表单应该根据您的控制器的期望命名输入。

然后,您应该使用类似的名称命名表单元素(根据您的屏幕截图)

<select name="metric[is_valid]">
  <option value="1">Yes</option>
  <option value="0">No</option>
</select>

使用这种命名方式,数据将被限定在 keymetric而不是metric_controller,并且它会通过强大的参数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails 4:无法将记录保存到数据库

来自分类Dev

在Rails中无法在数据库中创建记录

来自分类Dev

无法在 ruby on rails 中打印数据库记录

来自分类Dev

无法将记录插入或更新到数据库jsp

来自分类Dev

无法在 ruby on rails 中将数据插入数据库

来自分类Dev

Rails form_for无法保存数据库

来自分类Dev

Rails Country_select无法保存到数据库

来自分类Dev

Rails无法在数据库中保存json

来自分类Dev

Ruby on Rails,无法通过Web界面更新数据库

来自分类Dev

无法将数据设置到Rails的数据库中

来自分类Dev

具有默认值的text_field无法保存到Rails中的数据库

来自分类Dev

Rails 5无法存储在数据库中

来自分类Dev

无法在Rails教程中播种数据库

来自分类Dev

Codeigniter更新记录-无法在数据库中更新

来自分类Dev

无法弄清楚为什么表单无法保存到Rails上的数据库ruby中

来自分类Dev

Ruby on Rails:更新数据库中的布尔记录

来自分类Dev

无法更新sqlite数据库中的记录

来自分类Dev

无法将数据更新到数据库

来自分类Dev

更新到SpringBoot 2.4.0后内存数据库中的H2无法正常工作

来自分类Dev

无法将输入的表决数更新到我的数据库中

来自分类Dev

rails,国家/地区gem-无法保存到数据库

来自分类Dev

无法从Rails控制台更新数据库列值

来自分类Dev

无法从Rails控制台更新数据库列值

来自分类Dev

无法在Rails 4.x中的数据库中输入数据

来自分类Dev

无法在 Ruby on Rails 5 中显示数据库中的数据

来自分类Dev

Rails控制台无法连接到数据库

来自分类Dev

Heroku上的Rails 4.0.1,无法创建数据库

来自分类Dev

无法迁移/种子数据库-Postgres Rails

来自分类Dev

无法在Rails上运行数据库迁移

Related 相关文章

热门标签

归档