با درود خدمت شما . بنده دو سایت دارم یکی وب سرویسم هست که Json و دیگری که فونیکس هست HTML یا همان قسمت فرونت من می باشد
من از Json وب سرویسم یک سری داده ها می گیرم به این صورت
"category_versions": [
{
"title": "1.0",
"id": "08cdfa55-41e2-4117-bca3-167f0222a3db"
},
{
"title": "1.1",
"id": "f39826df-ed82-4b26-834d-7a6002f03ecc"
}
حالا اومدم ایت اطلاعات رو در یک سکلت باکس به شرح زیر قرار دادم .
<form action="" method="get">
<select name="version" class="form-control" id="exampleFormControlSelect1" onchange="this.form.submit()">
<%= for el <- category_versions do %>
<%= if el["id"] == correct_version_id do %>
<option value="<%= el["id"] %>" selected><%= el["title"] %></option>
<% else %>
<option value="<%= el["id"] %>"><%= el["title"] %></option>
<% end %>
<% end %>
</select>
</form>
این فرم من الان به صورت فرم معمولی html می باشد و برای بنده نیز کار می کند ولی مشکل من از اینجاست که من می خواستم از
https://hexdocs.pm/phoenix_html/Phoenix.HTML.Form.html
استفاده کنم مثلا به شرح زیر
<%= form_for category_versions, changelog_path(@conn, :changelog, "easyblog"), fn f -> %>
<label>
Name: <%= text_input f, :title %>
</label>
<% end %>
ولی ارور زیر رو داشتم
Request: GET /changelog/easyblog
** (exit) an exception was raised:
** (Protocol.UndefinedError) protocol Phoenix.HTML.FormData not implemented for [%{"id" => "08cdfa55-41e2-4117-bca3-167f0222a3db", "title" => "1.0"}, %{"id" => "f39826df-ed82-4b26-834d-7a6002f03ecc", "title" => "1.1"}]. This protocol is implemented for: Plug.Conn
آیا اصلا بدون Ecto می شه از این مورد استفاده کرد یا من مجبورم که از فرم معمولی خود html پایه استفاده کنم من در سایت html خودم هیچ چیزی رو ذخیره نمی کنم و دیتابیسی ندارم و هرچیزی رو از کاربر می گیرم برای سایت وب سرویسم می فرستم
متفرقه: راستی من ممکن هست لینک بدم در این بخش CSRF استفاده نکردم
لینک نمونه الان داره کار می کنه
http://localhost:9991/changelog/easyblog?version=08cdfa55-41e2-4117-bca3-167f0222a3db