Форма отправляется при загрузке страницы - PullRequest
1 голос
/ 12 марта 2010

У меня очень простое приложение на Rails. В основном статья с комментариями. Я хочу, чтобы на странице статьи отображалась статья, комментарии внизу, а затем текстовое поле для ввода комментария и кнопка отправки для его отправки.

У меня все работает, кроме одной (большой) проблемы. Когда страница загружается .. example.com/article/1 пустой комментарий отправляется в базу данных.

Я исправил это, добавив «validates_presence_of: body» в модель комментариев. Но это приводит к следующему изображению при загрузке страницы:

alt text

Кстати, это мой код:

def show
@place = Article.find(params[:id])
@comment = Article.find(params[:id]).comments.create(params[:comment])

respond_to do |format|
  format.html # show.html.erb
  format.xml  { render :xml => @article }
end
  end

и

    <% form_for([@article, @comment]) do |f| %>
  <p>
    <%= f.label :commenter %><br />
    <%= f.text_field :commenter %>
  </p>
  <p>
    <%= f.label :body %><br />
    <%= f.text_area :body %>
  </p>

  <p>
    <%= f.submit "Create" %>
  </p>
<% end %>

1 Ответ

2 голосов
/ 12 марта 2010

Это потому, что вы создали творение.

Создать попытку сохранить объект и т.п. недействительно, генерируется ошибка.

Сделано: @comment = Article.find(params[:id]).comments.build(params[:comment])

Устранить проблему, я думаю

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