0

我想在我通過蜻蜓寶石上傳的着陸頁上顯示特定圖像。param缺失或值爲空:photo:蜻蜓寶石

我收到以下錯誤: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 

如何將ID的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 [:ID ])工作?也許把你的相關路線,以及你怎麼稱呼它... – 2014-08-29 04:25:36

+0

@BradWerth你是什麼意思,很難說我以後是什麼?我正在嘗試使用id = 1的照片,因此代碼的[at] photo.1部分。這似乎是不正確的格式,雖然... – user3597950 2014-08-29 04:54:02

+0

我的意思是你的問題很難解析,你的意圖不明確,關鍵因素似乎從問題中省略。我認爲在這個意見中,我並不孤單,你的近距離投票和缺乏反應就證明了這一點。請記住,我並非試圖粗魯,而是提供建設性的批評,這將進一步闡明你的問題。我非常想回答這個問題,但感覺不完整...... – 2014-08-29 04:59:03

回答

0

有一些問題與此代碼。

首先,路線不會將任何屬性傳遞給可用於確定所需照片的方法。其次,你沒有提交一個可以在你的photo_params方法中提供照片參數的表單。幸運的是,你不需要它是動態的,所以你可以簡單地刪除那部分。最後,你不能簡單地將所需的id添加到實例變量的方法鏈中(一旦你得到它)。嘗試調整你的代碼看起來更象這樣:

class PagesController < ApplicationController 

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

end 

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