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
答
有一些问题与此代码。
首先,路线不会将任何属性传递给可用于确定所需照片的方法。其次,你没有提交一个可以在你的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? %>
很难告诉你这里经过是什么?难道'@photo = Photo.find(PARAMS [:ID ])工作?也许把你的相关路线,以及你怎么称呼它... – 2014-08-29 04:25:36
@BradWerth你是什么意思,很难说我以后是什么?我正在尝试使用id = 1的照片,因此代码的[at] photo.1部分。这似乎是不正确的格式,虽然... – user3597950 2014-08-29 04:54:02
我的意思是你的问题很难解析,你的意图不明确,关键因素似乎从问题中省略。我认为在这个意见中,我并不孤单,你的近距离投票和缺乏反应就证明了这一点。请记住,我并非试图粗鲁,而是提供建设性的批评,这将进一步阐明你的问题。我非常想回答这个问题,但感觉不完整...... – 2014-08-29 04:59:03