I just started to learn elixir and phoenix.
I am trying to add comments to blog but i got this error
function Map.put/4 is undefined or private
Error is in this line (show.html.heex):
<%= render "comment_form.html", Map.put(assigns, :changeset, :action, Routes.post_post_path(@conn, :add_comment, @post)) %>
My code in 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
And 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 %>