我想在我的目标网页上显示我通过蜻蜓宝石上传的特定图片。
我收到以下错误: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 :(得分: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? %>