这是我第一天使用Rails,甚至是第一天使用Ruby编程,所以我不确定Ruby社区使用的很多实践。
我正在尝试将此文件上传并将给定文件存储在一个文件夹中,并将该文件的路径存储在数据库中。我所拥有的工作完全正常,但我不确定我是否会打一些大的no-nos。
我最关心的是我这样做的地方:
params[:config][:url] = File.join("public/data/configs", params[:config][:file].original_filename)
以下是create方法的完整代码:
params[:config][:url] = File.join("public/data/configs", params[:config][:file].original_filename)
@map = Map.find(params[:map_id])
@config = @map.map_config.new(map_config_params)
if @config.valid?
File.open(params[:config][:url], "wb") { |f| f.write(params[:config][:file].read) }
@config.save
redirect_to map_path(@map)
else
render 'new'
end
map_config_params
方法:
private
def map_config_params
params.require(:config).permit(:name, :url)
end