簡體   English   中英

在哈希中包括鍵/值對和單個值

[英]Include key/value pairs and single values in a hash

我有一個包含字段的嵌套屬性表單:

  • 巢[attr1] []
  • nest [attr2] []
  • 巢[attr3]

(注意,第三個屬性不是數組)

在我的控制器中,強大的參數如下所示:

params.require(:campaign).permit(
  :somevalue,
  nests_attributes: {
    attr1: [],
    attr2: [],
    :attr3
  }
)

當然,這不起作用,因為attr1attr2使用鍵/值對建立數組,而attr3是允許的單個值。

如何同時使用兩者?

鑒於此參數:

{"campaign"=>{"somevalue"=>1, "nest"=>{"attr1"=>[1, 2, 3], "attr2"=>[1, 3, 4], "attr3"=>3}}}

你可以這樣做:

params.require(:campaign).permit(
  :somevalue,
  nest: [:attr3, attr1: [], attr2: []]
)

您可能會發現看到[] attr1: []里面有attr1: []很奇怪,但是在Ruby中這是完全有效的語法。 它將被解釋為:

[:attr3, {:attr1=>[], :attr2=>[]}]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM