So habe ich Formular (typische Artikel und Kommentare Beispiel) für Kommentare am Ende der Seite. Wenn die Validierung fehlschlägt, zeige ich Validierungsfehler an.Rails 4: Scroll-Browser-Fenster zu Formular nach fehlgeschlagener Einreichung (Validierungsfehler)
Das ist meine Kommentare Controller-Code:
class CommentsController < ApplicationController
before_action :authenticate_admin!, only: [:destroy]
expose(:article)
expose(:comment, attributes: :comment_params)
expose(:reply) { Reply.new }
def create
comment.article = article
if verify_recaptcha(model: comment, message: t('captcha_verification_error')) && comment.save
flash[:comment_notice] = t('comment_created_successfully')
redirect_to article_path(article) + '#comments'
else
flash[:comment_errors] = comment.errors.full_messages
render 'articles/show'
end
end
def destroy
comment.destroy
redirect_to article_path(article)
end
private
def comment_params
params.require(:comment).permit(:author, :content)
end
end
Hier Form:
= simple_form_for(comment, url: article_comments_path(article)) do |f|
- if flash[:comment_errors]
.alert.alert-danger
strong= pluralize(flash[:comment_errors].count, 'error') + ' prohibited this article from being saved:'
- flash[:comment_errors].each do |msg|
ul
li= msg
fieldset class='form-group'
= f.label t('author')
= f.text_field :author, class: 'form-control', placeholder: t('who_are_you')
fieldset class='form-group'
= f.label t('content')
= f.text_area :content, class: 'form-control', rows: 6, placeholder: t('what_do_you_want_to_say')
fieldset class='form-group'
= recaptcha_tags
fieldset class='form-group'
= f.submit t('create_comment'), class: 'btn btn-primary'
Für Formulare Ich verwende simple-form. Ich verwende auch decent exposure und slim
Ich möchte meine Seite nach der Validierung zu bilden, nach unten scrollen nicht (So Benutzer müssen nicht manuell scrollen). Gibt es einen einfachen Weg das zu erreichen?
AFAIK Ich kann nicht übergeben, um zu rendern (Das würde das Problem lösen). Irgendwelche Ideen? So