2016-04-20 18 views
1

NoMethodError bei/ nicht definierte Methode` page_media' für nil: NilClassNoMethodError bei/nicht definierte Methode `page_media 'für nil: NilClass

indexapp/controllers/homepage_controller.rb

before_action :set_track_page_status 
    def index 
    @cms_page  = Page.find_by_content_filename("homepage.en.yml") 
    @homepage_cms = HomepageCms.first 
    @page_medium = @cms_page.page_media.order("id ASC") 
    @roots  = Category.roots 
    end 
end 

Wie kann ich das beheben Dieses Thema auf Ror? Die Homepage wird nicht geladen.

Antwort

0

ändern Nur leicht:

@page_medium = @cms_page.page_media.order("id ASC") if @cms_page.page_media 
+0

Noch die gleiche NoMethodError at/ undefinierten Verfahren' page_media‘für nil: NilClass – Adrien

+0

before_action: set_track_page_status def index – Adrien

0

@cms_page scheint keine damit verbundenen page_media s.

könnte eine schnelle Lösung sein:

@page_medium = @cms_page.try(:page_media).try(:order, "id ASC") 
+0

Es gab einen weiteren Fehler, die ich bin nicht sicher, warum. .row.thumbnail-image.catalogs .col-sm-4.Item = link_to link_category ("Mode-Accessoires") tun = image_tag ("# {@ page_medium [2] .file.url Rettung asset_url (@ homepage_cms.image_custom_product_1)} ", Klasse:" img-responsive ") – Adrien

+0

p = @page_medium [2] .additional_text |   = link_to link_category ("Herrenbekleidung") tun = image_tag ("# {@ page_medium [3] .file.url Rettung asset_url (@ homepage_cms.image_custom_product_2) }“, Klasse: "img-responsive") p = @page_medium [3] .additional_text – Adrien

0

@cms_page ist gleich Null. Überprüfen Sie daher, ob eine Seite mit dem Inhalt filename gleich "homepage.en.yml" in der Datenbank ist. Und wie Carson Cole (mit einigen Änderungen ..) wies darauf hin:

@page_medium = @cms_page.page_media.order("id ASC") if @cms_page 
Verwandte Themen