как редактировать пост в рельсах и отображать указанный пост в текстовом поле - PullRequest
0 голосов
/ 13 февраля 2020

Я пытаюсь создать страницу, которая будет содержать содержимое сообщения из базы данных psql и позволять пользователю редактировать содержимое этого сообщения в текстовом поле. Я получаю сообщение об ошибке, но сообщение правильный столбец в базе данных любая помощь очень ценится

<h1>Edit message</h1>

<%= form_with(modle: @post, local: true) do |form| %>
  <p>
    <%= form.label :message %><br>
    <%= form.text_field :message, :value => form.message %>
  </p>

  <p>
    <%= form.submit %>
  </p>
<%end%>

  <%= link_to 'Back', posts_url %> 
<h1>Posts shown below</h1>
<p>To add a new post click link:
<%= link_to new_post_path do %>
  New post
<% end %>
</p>
<p>---------------------------------------------</p>
<% @posts.reverse_each do |post| %>
  <div id = "<%=post.id %>">
    <p><%= post.message %></p>
    <p><%= post.created_at.strftime(" Posted at %a %I:%M%p") %></p>
    <p><%= link_to 'Destroy', post, :confirm => 'Are you sure?',
                                    :method => :delete %></td>
    <p> <%= link_to 'Update', edit_post_path(post) %> </p>
    <p>---------------------------------------------</p>
  </div>
<% end %>

Ответы [ 2 ]

0 голосов
/ 13 февраля 2020
<h1>Edit message</h1>
<%= form_with(model: @post, local: true) do |form| %>
  <p>
    <%= form.label :message %><br>
    <%= form.text_field :message, :value => Post.find(params[:id]).message %>
  </p>
  <p>
    <%= form.submit %>
  </p>
<%end%>
<%= link_to 'Back', posts_path %>
0 голосов
/ 13 февраля 2020

Это должно быть form.object.message, внести изменения в эту строку

<%= form.text_field :message, :value => form.object.message %>

или, как сказал max, просто удалите опцию value все вместе, она все равно будет работать

<%= form.text_field :message %>

Попробуйте!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...