作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 phoenix 路由,我想将一些表单数据发布到其中,但是表单中有大约 4 个字段是可选的(表单是由最终用户构建的,因此这些字段可能不存在于 POST 有效负载中)
在路线的 Phoenix Controller 中,您将如何处理?
例如:
我的表格有
Field1,
Field2
Field3 (optional)
Field4 (optional)
Field5 (optional)
Field1
和
Field2
但可以有其他字段的任意组合。
def create(conn, %{"field1" => field1, "field2" => field2) do
end
最佳答案
Controller 接收到的参数只是一张 map ,所以你可能正在寻找类似 Map.get/3
的东西。 .使用这个函数,你可以在这些行上做一些事情:
def create(conn, %{"field1" => f1, "field2" => f2} = params) do
f3 = Map.get(params, "field3", "my default value")
# similar for the other fields
end
Map.merge/2
:
@optional_params %{"field3" => "default3", "field4" => "default4"}
def create(conn, %{"field1" => f1, "field2" => f2} = params) do
# `params` has precedence over `@optional_params`, that's why we're using it
# as the second argument here.
params = Map.merge(@optional_params, params)
end
关于elixir - Elixir Phoenix 中的可选 POST 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30693765/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!