函数 Map.put/4 未定义或私有
function Map.put/4 is undefined or private
刚开始学丹药和凤凰
我正在尝试向博客添加评论,但出现此错误
function Map.put/4 is undefined or private
错误在这一行 (show.html.heex):
<%= render "comment_form.html", Map.put(assigns, :changeset, :action, Routes.post_post_path(@conn, :add_comment, @post)) %>
我的代码在post_controller.ex
def show(conn, %{"id" => id}) do
post =
id
|> Posts.get_post!
|> Repo.preload([:comments])
changeset = Comment.changeset(%Comment{}, %{})
render(conn, "show.html", post: post, changeset: changeset)
end
和comment_form.html.heex
<%= form_for @changeset, @action, fn f -> %>
<div class="form-group">
<label>Name</label>
<%= text_input f, :name, class: "form-control" %>
</div>
<div class="form-group">
<label>Content</label>
<%= textarea f, :content, class: "form-control" %>
</div>
<div class="form-group">
<%= submit "Add comment", class: "btn btn-primary" %>
</div>
<% end %>
您可能不小心在代码中添加了:changeset
:
- Map.put(assigns, :changeset, :action, Routes.post_post_path(@conn, :add_comment, @post))
+ Map.put(assigns, :action, Routes.post_post_path(@conn, :add_comment, @post))
Map.put/3
可以将新的键值对放入现有的映射中。这里3
表示arity(参数个数)为3。
在您的情况下,将 :changeset
的新赋值放入已经包含该键的继承赋值中毫无意义。
刚开始学丹药和凤凰
我正在尝试向博客添加评论,但出现此错误
function Map.put/4 is undefined or private
错误在这一行 (show.html.heex):
<%= render "comment_form.html", Map.put(assigns, :changeset, :action, Routes.post_post_path(@conn, :add_comment, @post)) %>
我的代码在post_controller.ex
def show(conn, %{"id" => id}) do
post =
id
|> Posts.get_post!
|> Repo.preload([:comments])
changeset = Comment.changeset(%Comment{}, %{})
render(conn, "show.html", post: post, changeset: changeset)
end
和comment_form.html.heex
<%= form_for @changeset, @action, fn f -> %>
<div class="form-group">
<label>Name</label>
<%= text_input f, :name, class: "form-control" %>
</div>
<div class="form-group">
<label>Content</label>
<%= textarea f, :content, class: "form-control" %>
</div>
<div class="form-group">
<%= submit "Add comment", class: "btn btn-primary" %>
</div>
<% end %>
您可能不小心在代码中添加了:changeset
:
- Map.put(assigns, :changeset, :action, Routes.post_post_path(@conn, :add_comment, @post))
+ Map.put(assigns, :action, Routes.post_post_path(@conn, :add_comment, @post))
Map.put/3
可以将新的键值对放入现有的映射中。这里3
表示arity(参数个数)为3。
在您的情况下,将 :changeset
的新赋值放入已经包含该键的继承赋值中毫无意义。