0

Я хочу отобразить конкретное изображение на моей целевой странице, которую я загрузил через драгоценный камень стрекозы.Параметр отсутствует или значение пуст: фото: dragonfly gem

Я получаю следующее сообщение об ошибке: param is missing or the value is empty: photo

это то, что у меня есть на мой взгляд landing.html.erb:

<%= image_tag @photo.1.image.thumb('150x185#').url if @photo.1.image_stored? %> 

это то, что я на своих страницах контроллера:

class PagesController < ApplicationController 

    def landing 
     @photo = Photo.find(photo_params) 
    end 


    def photo_params 
     params.require(:photo).permit(:image) 
    end 

end 

Как передать идентификатор 1 моему объекту @photo? Я знаю, что это может быть новый вопрос, но я потратил несколько часов на то, чтобы пробовать разные вещи, и ничего не сработало. Благодаря!

Это мои маршруты:

root 'pages#landing' 

    match '/home', to: 'pages#home', via: 'get' 
    match '/about', to: 'pages#about',  via: 'get' 
    match '/gallery', to: 'pages#gallery', via: 'get' 

    match '/events', to: 'pages#events', via: 'get' 
    match '/menu', to: 'pages#menu', via: 'get' 
    match '/testing', to: 'pages#testing', via: 'get' 
    match '/contacts',  to: 'contacts#new',    via: 'get' 
    resources "contacts", only: [:new, :create] 
    match '/events', to: 'pages#mevents', via: 'get' 
    resources "events", only: [:new, :create] 

    resources :photos 
+0

Это трудно сказать, что вы после того, как здесь ... Есть ли '@photo = Photo.find (Params [: идентификатор ]) 'работа? Возможно, поместите свой соответствующий маршрут и как вы его называете ... –

+0

@BradWerth, что вы имеете в виду, трудно сказать, что я за? Я пытаюсь сделать фотографию с id = 1 и, следовательно, частью [at] photo.1 кода. Это, кажется, неправильный формат, хотя ... – user3597950

+0

Я имею в виду, что ваш вопрос трудно разобрать, ваше намерение неясно, и ключевые элементы, кажется, опускаются из вопроса. Я считаю, что я не одинок в этом мнении, о чем свидетельствует ваш тесный голос и отсутствие ответа. Пожалуйста, имейте в виду, что я не пытаюсь быть грубым, а скорее предлагаю конструктивную критику, которая еще больше осветит вашу проблему. Я хотел бы очень ответить на это, но он чувствует себя неполным ... –

ответ

0

Есть некоторые проблемы с этим кодом.

Во-первых, маршрут не передает никаких атрибутов методу, который вы можете использовать для определения нужной фотографии. Во-вторых, вы не отправляете форму, которая обеспечивала бы параметры фотографий в вашем методе photo_params. К счастью, вам не нужно, чтобы она была динамичной, поэтому вы можете просто удалить эту часть. Наконец, вы не можете просто добавить нужный идентификатор в цепочку методов в переменной экземпляра (как только вы ее получите). Попробуйте изменить свой код, чтобы выглядеть следующим образом:

class PagesController < ApplicationController 

    def landing 
    @photo = Photo.find(1) 
    end 

end 

и

<%= image_tag(@photo.image.thumb('150x185#').url) if @photo.image_stored? %>