Ruby on rails ActiveStorage未上载或未加载的问题
因此,我试图为用户(设计)添加将图像上传到列表的功能 首先:我有一个listings控制器,并定义了listings参数Ruby on rails ActiveStorage未上载或未加载的问题,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-4,ruby-on-rails-5,rails-activestorage,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 4,Ruby On Rails 5,Rails Activestorage,因此,我试图为用户(设计)添加将图像上传到列表的功能 首先:我有一个listings控制器,并定义了listings参数 def listing_params params.require(:listing).permit(:title, :description, images: []) end 下一步:在列表模型中,我有: class Listing < ApplicationRecord belongs_to :user has_many_attached :image
def listing_params
params.require(:listing).permit(:title, :description, images: [])
end
下一步:在列表模型中,我有:
class Listing < ApplicationRecord
belongs_to :user
has_many_attached :images
end
有了这些,我认为它可以工作,但当上传图像时,它会给我一个错误:
NoMethodError in Listings#index
Showing /Users/timbogdanov/Desktop/vend/app/views/listings/index.html.haml where line #5 raised:
undefined method `images' for #<Listing::ActiveRecord_Relation:0x00007f8ef1208578>
Extracted source (around line #5):
- @listings.each do |listing|
.box
- @listings.images.each do |image|
= image_tag(@listings.images[image])
.listing-info
%h3= link_to listing.title, listing_path(listing)
清单中的命名错误#索引
显示/Users/timbogdanov/Desktop/vend/app/views/listings/index.html.haml,其中第5行出现:
未定义的方法“images”#
提取的源(第5行附近):
-@listings.each do| listing|
.盒子
-@listings.images.each do| image|
=image_标记(@listings.images[image])
.上市信息
%h3=链接到listing.title,listing\u路径(listing)
好吧,这是个愚蠢的错误。 看起来像是在我的索引视图文件中,我使用了变量@listings,而不是我刚才列出的每个外观 联合国:
.listings.has-gutters
- @listings.each do |listing|
.box
- if listing.images.attached?
- listing.images.each do |image|
= image_tag(image)
.listing-info
%h3= link_to listing.title, listing_path(listing)
%p= listing.description
%p= listing.user.firstname
NoMethodError in Listings#index
Showing /Users/timbogdanov/Desktop/vend/app/views/listings/index.html.haml where line #5 raised:
undefined method `images' for #<Listing::ActiveRecord_Relation:0x00007f8ef1208578>
Extracted source (around line #5):
- @listings.each do |listing|
.box
- @listings.images.each do |image|
= image_tag(@listings.images[image])
.listing-info
%h3= link_to listing.title, listing_path(listing)
.listings.has-gutters
- @listings.each do |listing|
.box
- if listing.images.attached?
- listing.images.each do |image|
= image_tag(image)
.listing-info
%h3= link_to listing.title, listing_path(listing)
%p= listing.description
%p= listing.user.firstname