2015-11-16 43 views
0

我有兩種形式一個顯示適當的錯誤通知和兩個不知道t. And I don知道爲什麼。簡單形式是否適用於嵌套對象?

一: 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是否顯示了嵌套obejcts error_notifications? (我認爲它應該)。如果是的話,我的代碼有什麼問題阻止了他們的第二種形式。

回答

0

的問題是在這兩個在我的控制器和form_partial

什麼在控制器幫助是,更改:

@character = @user.characters.new@character = Character.new

,並在我的形式:

<%= simple_form_for [@user, @user.characters.new] do |f| %>

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