本文介绍了参数数目错误(给定1,预期为0)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想将照片上传到我的网站.在我选择了照片并单击添加照片"后,出现此错误.关于如何解决这个问题的任何想法吗?
I want to upload photos to my website. After i selected the photos and click on "Add Photos" this error comes up. Any ideas how i can solve this?
photos_controller.rb
photos_controller.rb
class PhotosController < ApplicationController
def create
@wall = Wall.find(params[:wall_id])
if params [:images]
params[:images].each do |img|
@wall.photos.create(image: img)
end
@photos = @wall.photos
redirect_back(fallback_location: request.referer, notice: "Saved...")
end
end
end
walls.controller.rb
walls.controller.rb
class WallsController < ApplicationController
before_action :set_wall, except: [:index, :new, :create]
before_action :authenticate_user!, except: [:show]
before_action :is_authorised, only: [:listing, :pricing, :description, :photo_upload, :location, :update]
def index
@walls = current_user.walls
end
def new
@wall = current_user.walls.build
end
def create
@wall = current_user.walls.build(wall_params)
if @wall.save
redirect_to listing_wall_path(@wall), notice: "Saved..."
else
fash[:alert] = "Something went wrong..."
render :new
end
end
def photo_upload
@photos = @wall.photos
end
def location
end
def update
if @wall.update(wall_params)
flash[:notice] = "Saved..."
else
flash[:notice] = "Something went wrong..."
end
redirect_back(fallback_location: request.referer)
end
private
def set_wall
@wall = Wall.find(params[:id])
end
def is_authorised
redirect_to root_path, alert: "You don't have permission" unless current_user.id == @wall.user_id
end
def wall_params
params.require(:wall).permit(:size_sqm, :visibility, :traffic, :wall_name, :summary, :address, :price)
end
end
推荐答案
在Rails控制器操作中, params
是一个Hash值,并且按以下方式获取Hash值:
In a Rails controller action, params
is a Hash value and a Hash value is fetched like below:
params[:name]
在您的代码中, params
和 [:images]
之间有多余的空格,这意味着转换为通过名称 params
In your code you're having an unwanted space between params
and [:images]
which means translates to calling a method by name params
这篇关于参数数目错误(给定1,预期为0)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!