У меня есть две формы Один показывает правильные уведомления об ошибках и Два doesn t. And I don
t знать почему.Работает ли простая форма с вложенными объектами?
One: Announcement_form:
имеет переменную объявление, announcement = @announcement
<%= simple_form_for announcement do |f| %>
<%= f.input :title, label: "Nazwa", placeholder: "Tytuł Posta", error: "Proszę podać tytuł" %>
<%= f.input :message, label: "Treść", placeholder: "Treść Posta", error: "Post musi posiadać treść", as: :text, input_html: { 'rows' => 12 } %>
<%= f.submit "Dodaj Newsa ;)", class: 'btn btn-primary' %>
<% end %>
с действием контроллера:
def create
@announcement = Announcement.new(announcement_params)
if @announcement.save
flash[:success] = "Post został pomyślnie dodany"
redirect_to root_path
else
render :new
end
end
И Два:
Characteer форма:
<article class="character_form ">
<%= simple_form_for [@user, @user.characters.new] do |f| %>
<%= f.input :name, label: "Imię", placeholder: "Imię postaci", error: "Proszę podać imię postaci" %>
<%= f.input :clan, collection: CLAN_NAMES_ARRAY, label: "Klan:", include_blank: false %>
<%= f.input :family, label: "Rodzina:", include_blank: false %>
<%= f.input :desc, label: "Opis Postaci:", placeholder: "Opisz swoją postać...", error: "Postać musi posiadać opis" %>
<%= f.submit "Zapisz", class: "btn btn-primary" %>
<% end %>
</article>
С действием:
def create
@user = User.find(params[:user_id])
@character = @user.characters.new(character_params)
if @character.save
redirect_to current_user
else
render :new
end
end
Оба довольно стандартный материал, проблема, которую я столкнулся, является то, что в первом примере, simple_form возвращает хорошие уведомления проверки, а во втором формы это не так. Единственное различие, которое я вижу между этими двумя формами, состоит в том, что символьный объект является вложенным объектом (@ user.character), а объявление - нет. У меня есть валидация присутствия для обеих моделей.
Мой вопрос:
simple_form показывает ли error_notifications для вложенных obejcts? (Я думаю, это должно). Если да, то что не так с моим кодом, который предотвращает их для второй формы.