我对 Rails 相当陌生,并且一直在为我们当地的高中工作的移动 Web 应用程序上取得稳步进展,但遇到了一个让我难堪的问题。我希望这里的集体知识能够为我指明正确的方向。
我有一个正在工作的学校运动员模型(名字、姓氏、身高、体重、毕业年份, - 标准的东西)(通过标准脚手架生成 CRUD),现在我想添加通过 CSV 上传导入记录的功能.
为了不重新发明轮子,我正在关注Rich on Rails 中的这个示例。为了熟悉它,我创建了一个单独的 Rail 项目并按照示例进行操作,一切都按预期工作。伟大的。现在集成到我现有的项目中。
除了一个例外,一切似乎都很好地集成在一起 - CSV 文件从未在参数中传递给我的模型,我不知道为什么。我确信这是显而易见的,但我已经盯着这个问题几个小时了,但看不出我做错了什么。
这是我的 Athletes 控制器的一部分:
class AthletesController < ApplicationController
before_action :set_athlete, only: [:show, :edit, :update, :destroy]
# GET /athletes
# GET /athletes.json
def index
@athletes = Athlete.all.order(:lastname, :firstname)
end
# POST /athletes/import
# POST /athletes/import.json
def import
logger.info(params.to_yaml)
begin
Athlete.import(params[:file])
redirect_to page_path('admin'), notice: "Athletes imported."
rescue
redirect_to page_path('admin'), notice: "Invalid CSV file format."
end
end
# GET /athletes/1
# …Run Code Online (Sandbox Code Playgroud)