2016-03-22 17 views
1

Bu sayfada görüntülenecek hata iletileri alıyorum. Onlar başka bir sayfaya değil, bu birYalnızca bir sayfada çalışmayan hata iletileri oluşuyor

mod_approval.index.html.erb için ince göstermek

<% @check_category.each do |category| %> 

<%= form_for([@guide, Guide.friendly.find(@guide.id).categories.new], url: guide_mod_panel_approve_category_path, method: :post) do |f| %> 
     <%= render 'shared/error_messages', object: f.object %> 
     <%= hidden_field_tag :check_id, category.id %> 
     <%= f.hidden_field :name, :value => category.name %> 
     <%= f.submit "Approve" %> 
<% end %> 
<% end %> 

mod_approval_controller

def mod_add_category 

    @guide   = Guide.friendly.find(params[:guide_id]) 
    @check_category = CheckCategory.where(guide_id: @guide.id).all 
    @category  = Guide.friendly.find(@guide.id).categories.new(category_params) 

     if @category.save 

    flash[:success] = "Game category added succesfully!" 
    redirect_to guide_mod_panel_mod_approval_index_path(@guide) 
    else 
    render 'mod_approval/index' 
    end 

end 

yolları

neden onlar
match '/guides/:guide_id/mod-panel/approve/category' => 'mod_approval#mod_add_category', :via => :post, as: :guide_mod_panel_approve_category 
match '/guides/:guide_id/mod-panel/approve' => 'mod_approval#index', :via => :get, as: :guide_mod_panel_mod_approval_index 

Çok emin değilim render değil <%= render 'shared/error_messages', object: f.object %> değiştirmeyi denedim <%= render partial: 'shared/error_messages', object: f.object %> ama bu verir Kurulumu render Bu hata Michael Hartls yapılmıştı bu hat <% if object.errors.any? %>

hata

undefined local variable or method `object' for #<#<Class:0x007ffdbcd1c3a8>:0x007ffdbcbdd320> 

öğretici raylar ve Dediğim gibi ben her formda ama bunun için çalışıyor.

form_for([@guide, Guide.friendly.find(@guide.id).categories.new], 

Sen form_for hataları (Kumandanızda gelen @category) sahiptir Kategori örneğini vermek gerekir:

+0

Ne çalışan bir formu nasıl görünür? –

+0

@muistooshort <% = form_for ([@ kategori, @ kategori_item], url: category_items_create_path) do | f | %> <% = nesneyi '/ error_messages paylaşılan' kılmasıdır: f.object%> <% = f.label: ad, "Ad" %> <% = f.text_field: adı%> < % = f.submit "Sonraki"%> <% end %> – Rob

+0

Ve kısmi oluşturmazken görüntülenecek hataların olduğundan emin misiniz? –

cevap

1

nedeni formu işlemek zaman, yeni bir Kategori örneğini olmasıdır. Bu yüzden bu Formunuzu değiştirecek: En #new yöntemde

form_for([@guide, @category], 

Ve sonra yukarı ayarlayın emin olun:

@category = @guide.categories.build 
+0

Teşekkürler. Başlangıçta '@ category' kullanmamamın bir sebebi vardı ama ben onu tamir ettim ve' kategoriyi geri koymayı unutmuşum (ya da bıraktığım zaman zarar vermeyecekti). Bunu yapmaktan nefret edersem, ya da iyi bilmediysen diğer sorumu kontrol edebilir misin? Http://stackoverflow.com/questions/36109532/using-the-rails-gem-mailboxer-and-the-sender- id-is-always-zero – Rob

+0

Üzgünüz, Posta Kutusu bilmiyorum ve kodunuz bir "sender_id" değerinden hiç bahsetmiyor. :-) –

+0

Endişeye gerek yok teşekkürler – Rob

İlgili konular