不允许的参数嵌套属性 -rails

2024-02-13

我正在尝试向 2 个表提交表单,但不知何故我收到了此语法错误unexpected '\n'在这条线上joins: ['sources'], :landslide_id and found unpermitted parameter: sources在滑坡参数中。这是所有文件

Models

class Landslide < ApplicationRecord
  has_many :sources, dependent: :destroy
  accepts_nested_attributes_for :sources

class Source < ApplicationRecord
  belongs_to :landslide
end

山体滑坡控制器.rb

  def new
    @landslide = Landslide.new
    @landslide.sources.build
  end

  # POST /landslides
  def create
    @landslide = Landslide.new(landslide_params)

    @landslide.save
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_landslide
      render json: Landslide.find(params[:total_id]),
             joins: ['sources'], :landslide_id
    end

    # Only allow a trusted parameter "white list" through.
    def landslide_params
      params.require(:landslide).permit(:start_date, :continent, :country, :location, :landslide_type, :lat, :lng, :mapped, :trigger, :spatial_area, :fatalities, :injuries, :notes, sources_attributes: [ :url, :text ])
    end

源控制器.rb

    def set_source
      @source = Source.find(params[:id])
    end

    # Only allow a trusted parameter "white list" through.
    def source_params
      params.require(:source).permit(:url, :text)
    end

_form.html.haml

= form_for :landslide, :url => {:controller => 'landslides', :action => 'create'} do |f|
#something
       %fieldset
        %legend Source
        = f.fields_for :sources do |s|
          .form-group.row
            %label.col-sm-2.col-form-label{for: "textinput"}URL
            .col-sm-10
              = s.text_field :url, class: "form-control"
          .form-group.row
            %label.col-sm-2.col-form-label{for: "textinput"}Text
            .col-sm-10
              = s.text_field :text, class: "form-control"

Request

    {"utf8"=>"✓",
 "authenticity_token"=>"W3m2dLTGyuPCbP6+pStWDfgpIbPzGdl4tvf01vMAbyozzkimqlXH4B/RtwBcsLb+iiBqms7EHagY+Anbpo4zNg==",
 "landslide"=>
  {"start_date(3i)"=>"27",
   "start_date(2i)"=>"4",
   "start_date(1i)"=>"2017",
   "continent"=>"Africa",
   "country"=>"Country",
   "location"=>"Location",
   "landslide_type"=>"1",
   "lat"=>"1",
   "lng"=>"1",
   "mapped"=>"False",
   "spatial_area"=>"1",
   "fatalities"=>"1",
   "injuries"=>"1",
   "notes"=>"1",
   "trigger"=>"1",
   "sources"=>{"url"=>"url", "text"=>"text"}},
 "button"=>""}

发现不允许的参数:来源

根据您的表单,源看起来像是在名为“sources”而不是“sources_attributes”的参数内。编辑你的landslide_params,改变sources_attributes到来源。

请问什么set_landslide正在尝试渲染,或者如果我在下面错了,请纠正我?配售joins在新行上会导致错误。我想你正在尝试做类似的事情:

landslide = Landslide.find(params[:total_id])
render json: landslide.to_json(:include => { :sources => { landslide_params[:sources] }})

这将为您提供一个包含山体滑坡对象和源数组的 json。滑坡 ID 应位于滑坡对象内。当然,这假设这就是您想要的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不允许的参数嵌套属性 -rails 的相关文章

随机推荐

  • H2数据库:聚集索引支持

    我使用 H2 数据库来存储包含大量时间序列的环境数据 时间序列只是定期 例如每小时一次 记录在数据库中的传感器的测量值 表中存储的数据 CREATE TABLE hydr dt timestamp value double sensorid
  • 在 Skylake 上展开 1 周期循环会使性能降低 25%。 uops调度问题?

    TL DR我有一个循环需要 1 个周期才能在 Skylake 上执行 它执行 3 次加法 1 次增量 跳转 当我将其展开超过 2 次 无论多少次 时 我的程序运行速度会慢 25 左右 这可能与对齐有关 但我不清楚是什么 编辑 这个问题曾经询
  • ARDUINO 常数有什么用?以前是22,现在是100

    我正在使用热电偶并下载了 MAX6675 库 我想知道以下几行中 ARDUINO 常量的值是做什么用的 if ARDUINO gt 100 lcd write byte 0 else lcd print 0 BYTE endif lcd p
  • 使用 Youtube v3 API 下载字幕

    在尝试使用 OAuth 2 0 授权下载视频 不归我所有 的字幕时 我收到 403 禁止错误 其中指出 与请求关联的权限不足以下载字幕轨道 该请求可能无法正确处理 已授权 或者视频订单可能未启用第三方为此字幕提供的内容 在进一步的研究中 我
  • Ninja 相当于 Make 的“从该目录向下构建”功能(使用 CMake)?

    使用CMake和Make构建项目时 可以执行make从构建树的子目录 即从包含顶级目录的目录下面的目录 Makefile and make将 据我所知 构建该目录下或该目录下的所有目标 这是因为 CMake 生成了一个Makefile对于每
  • 是否有用于指定属性“显示名称”的 .NET 属性?

    是否有一个属性允许您为类中的属性指定用户友好的名称 例如 假设我有以下课程 public class Position public string EmployeeName get set public ContactInfo Employ
  • 通过 Applescript 在 Xcode 4 中添加文件断点

    我正在尝试使用 AppleScript 将断点添加到当前 XCode 项目中选定的 m 文件 现在我陷入了困境 因为 AppleScript 在尝试添加文件断点时不断返回 缺失值 我当前的 AppleScript 看起来像这样 其中 PRO
  • 在 JavaScript 中构建“类”的现代方法是什么? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何构建一个 类 具有属性和方法 并在其上创建大量实例 The modern方法是使用class https developer mo
  • apache 上的多个 ssl 虚拟主机

    我想在 apache 上使用它们自己的 ssl 证书配置两个虚拟主机 apache 2 2 22 和 openssl 1 0 1 debian 7 6 我找了很多关于SNI的文章 但还是无法正确配置 这是我的配置 端口配置文件 NameVi
  • 如何在 pandas 中进行左外连接排除

    我有两个数据框 A 和 B 我想在 A 中获取它们 但不在 B 中 就像左上角正下方的数据框一样 数据框 A 有列 a b others B 有列 a b others 没有 NaN 值 我尝试了以下方法 1 dfm dfA merge d
  • ISO 8601 中的时间戳 - 最后 6 位数字 yyyy-MM-dd'T'HH:mm:ss。

    我的时间戳看起来像这样 2015 03 21T11 08 14 859831 2015 03 21T11 07 22 956087 我读了一篇关于 ISO 8601 的 Wiki 文章 https en wikipedia org wiki
  • pandas - 计算另一列中每个唯一值的 DataFrame 中值的出现次数

    假设我有一个数据帧 term score 0 this 0 1 that 1 2 the other 3 3 something 2 4 anything 1 5 the other 2 6 that 2 7 this 0 8 someth
  • MySQL按日期分组的累积和

    我知道有一些与此相关的帖子 但我的情况有点不同 我想在这方面获得一些帮助 我需要从数据库中提取一些数据 这些数据是每天交互的累积计数 目前这就是我所拥有的 SELECT e Date AS e date count e ID AS num
  • 如何将 dll 导入到在网络服务器上运行的 ASP.NET Web 应用程序中

    我在 VS 2010 中创建了一个 dll 我将其放入网络服务器上的 app code 文件夹中 然后我通过尝试使用来访问它imports GetWebPageData 如果这意味着什么的话 dll 位于 bin debug 下的 vs 项
  • 如何在Java中的不同类中使用相同的对象

    假设我有 3 个 java 类 A B 和 C 我需要创建一个在 A 和 B 中都使用的 C 类对象 但单独创建该对象的问题是类 c 的构造函数被调用了 2 次 但我希望构造函数只被调用一次 所以我想将A类中创建的对象使用到B类中 因此 创
  • 如何从 Web api 控制器返回文件?

    我正在使用 MVC 5 Web Api 控制器 我想返回一个文件 Route public HttpResponseMessage GetFile var statusCode HttpStatusCode OK FileStream fi
  • jQuery 倒计时有问题吗?函数serverSync:服务器时间

    serverSync serverTime函数从服务器返回值 但我检查了服务器和客户端时间是否相同 当我调用服务器与服务器同步时 它不会显示倒计时 帮我 function var shortly new Date var newTime n
  • SQL更新记录,每次从1开始递增值

    我使用单个插入语句将批量记录添加到表中 我希望为每个新批次分配递增的数字 但每次都从 1 开始 所以 如果我有 Batch Name IncementingValue 1 Joe 1 1 Pete 2 1 Andy 3 2 Sue 1 2
  • Scrapy好像没有做DFO

    我有一个网站 我的爬虫需要遵循一定的顺序 例如 在开始进行 a2 之前 它需要先进行 a1 b1 c1 等操作 a b 和 c 中的每一个都由不同的解析函数处理 并且相应的 url 在 Request 对象中创建并生成 下面粗略地说明了我正
  • 不允许的参数嵌套属性 -rails

    我正在尝试向 2 个表提交表单 但不知何故我收到了此语法错误unexpected n 在这条线上joins sources landslide id and found unpermitted parameter sources在滑坡参数中