Попытка установить форму добавления без обновления страницы - PullRequest
0 голосов
/ 10 января 2020

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

show. html .erb

...
<table id="comments">
  <tbody>
    <% @article.comments.each do |comment| %>
      <%= render 'comments/comment', comment: comment %>
    <% end %>
  </tbody>
</table>
...

_комментарий. html .erb

<tr>
  <td><p><%= comment.name %></p></td>
  <td><p><%= comment.body %></p></td>
  <td><p><%= time_ago_in_words(comment.created_at) %> Ago</p></td>
  <% if User.find_by(email: comment.name) == current_user %>
    <td><%= link_to 'Delete', [comment.article, comment], method: :delete, data: { confirm: 'Are you sure?' } %></td>
  <% else %>
    <td> </td>
  <% end %>
</tr>

create. js .erb

$('table#comments tbody').append("<%= j render @comment %>")

rout.rb

Rails.application.routes.draw do


  get 'search/index'

  devise_for :users
  get 'welcome/index'
  get '/search', to: 'search#search'



  resources :user
  resources :articles do
    resources :comments
    member do
      put "like" => "articles#like"
      put "unlike" => "articles#unlike"
    end
  end
  resources :search, only: [:index]

  root 'welcome#index'
end

1 Ответ

0 голосов
/ 11 января 2020

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

$('table#comments tbody').append("This is just test")

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

$('table#comments tbody').append("<%= escape_javascript(render @comment) %>")

Если у вас все еще есть проблема, чем вы должны проверить свои действия, и ответит ли она на JS.

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