gpt4 book ai didi

ruby-on-rails - 简单表格是否适用于嵌套对象?

转载 作者:行者123 更新时间:2023-12-03 08:53:44 25 4
gpt4 key购买 nike

我有两种形式一种显示正确的错误通知,另一种两种不表示t. And I don t为什么。

一:
公告表格:

它具有公告变量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 %>

使用 Controller Action :
  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

二:

字符形式:
<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? (我认为应该这样)。如果是的话,我的代码出了什么问题,导致他们无法使用第二种形式。

最佳答案

问题出在我的 Controller 和form_partial中

改变 Controller 的方法是:
@character = @user.characters.new@character = Character.new
并以我的形式:
<%= simple_form_for [@user, @user.characters.new] do |f| %>

<%= simple_form_for [@user, @character] do |f| %>

关于ruby-on-rails - 简单表格是否适用于嵌套对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33728621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com