小编Beb*_*bbs的帖子

如何为嵌套属性允许强参数?

我得到一个Unpermitted parameters: latitude, longitude, address错误日志中,当我尝试接受来自表格嵌套属性。确切的参数如下所示:

{  
  "widget"=> {
    "owner"=>"100", 
    "name"=>"Widget Co", 
    "locations_attributes" => {
      "0"=> {
        "latitude"=>"51.4794259", 
        "longitude"=>"-0.1026201", 
        "address"=>"123 Fake Street"
      }
    }
  },
  "commit"=>"Create Supplier", 
  "action"=>"create", 
  "controller"=>"widgets"
}
Run Code Online (Sandbox Code Playgroud)

小部件has_many位置和小部件位置belongs_towidgets_controller我认为可以在“ 0”以下允许所有参数的参数中设置了参数,但似乎不是吗?

def widget_params
  params.require(:widget).permit(:owner, :name, locations_attributes: [{"0" => []}])
end
Run Code Online (Sandbox Code Playgroud)

有没有一种可行的/更好的方式来接受这些参数?

谢谢

ruby parameters ruby-on-rails

4
推荐指数
1
解决办法
3357
查看次数

迭代文件夹并将文件上移一级

我有一个如下所示的目录结构:

/images
  /1
    /.tmp
      image1.jpg
      image2.jpg
  /2
    .tmp
      image1.jpg
      image2.jpg
      image3.jpg
  /3
    .tmp
      image1.jpg
      image2.jpg
Run Code Online (Sandbox Code Playgroud)

我需要的是将 .tmp 中的所有这些文件向上移动一级,因此它们的路径是images/1/image1.jpg而不是images/1/.tmp/image1.jpg. 问题是我有数百或数千个这样的编号文件夹,因此手动操作将花费很长时间。

是否有 OS X 或 Unix shell 命令可以迭代每个 /.tmp 文件夹并将内容向上移动一个级别,或者类似:

mv images/*/.tmp/* images/< the current dir being iterated over>/*
Run Code Online (Sandbox Code Playgroud)

macos bash shell

2
推荐指数
1
解决办法
1142
查看次数

从时间戳获取一年中的第一天和最后一天

鉴于时间对象,t := time.Now()有没有办法在那一年的第一天和最后一天获得时间戳?

我可以做一些事情,比如d := t.YearDay()获得一年中的天数,然后t.AddDate(0, 0, -d)获得今年的开始,并t.AddDate(0, 0, 365-d)获得今年年底,但这似乎很脆弱,因为它不涉及闰年等.

time go

1
推荐指数
1
解决办法
105
查看次数

标签 统计

bash ×1

go ×1

macos ×1

parameters ×1

ruby ×1

ruby-on-rails ×1

shell ×1

time ×1