param缺失或值为空:photo:蜻蜓宝石

问题描述:

我想在我通过蜻蜓宝石上传的着陆页上显示特定图像。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

有一些问题与此代码。

首先,路线不会将任何属性传递给可用于确定所需照片的方法。其次,你没有提交一个可以在你的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? %>