#controllers
def new
@day = (params[:date] || Time.now.strftime("%Y-%m-%d")).to_date.midnight
@days = (@day.monday().to_i..6.days.since(@day.monday()).to_i).step(1.day).map {|d| Time.at(d).strftime('%Y-%m-%d')}
end
def front_course
begin
@student = Student.find(session[:current_student])
@day = (params[:date].nil? ? Time.now : params[:date]).to_date.midnight
@days = (@day.monday().to_i..6.days.since(@day.monday()).to_i).step(1.day).map {|d| Time.at(d).strftime('%Y-%m-%d')}
courses = Course.where({course_at: (@day.monday()..7.days.since(@day.monday())),class_dept_id: @student.class_dept_id}).all
@term = courses.empty? ? "未设置课程":courses.first.term.name
courses_groups = courses.group_by {|c| c.course_at.strftime('%Y-%m-%d')}
@lessons = Hash.new
courses_groups.each do |day, v|
@lessons[day] = Hash.new unless @lessons[day]
v.each do |v1|
@lessons[day][v1.lesson] = v1.subject if v1.lesson
end
end
render :layout => 'front_board'
rescue => e
flash[:notice] = "学生不存在"
render '/fronts/login'
end
end
def counter
current = $redis.hget "counter","scaner"
$redis.hset "counter","scaner",(current.to_i+1).to_s
end
#model
def self.generate_course_by_date(term_obj, class_obj, begin_at_obj, end_at_obj, course_obj)
if begin_at_obj && end_at_obj
begin
begin_day = DateTime.strptime(begin_at_obj, '%Y-%m-%d')
end_day = DateTime.strptime(end_at_obj, '%Y-%m-%d')
generate_course(begin_day, end_day, term_obj, class_obj, course_obj)
return "创建成功!"
rescue => e
return e
end
else
return "时间不正确,创建失败!"
end
end
def self.generate_course(begin_day, end_day, term_obj, class_obj, course_obj)
days = (begin_day.to_i..end_day.to_i).step(1.day).map { |d| Time.at(d) }
courses_obj = JSON.parse(course_obj)
for day in days
if day.strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d")
for course in courses_obj
if day.wday.to_s==course['weekday']
query_course = Course.where(:course_at => day, :class_dept_id => class_obj, :lesson => course['lesson']).first
if !query_course.nil?
query_course.update_attributes(:subject => course['subject'], :term_id => term_obj, :class_dept_id => class_obj)
else
Course.create(:course_at => day, :subject => course['subject'], :term_id => term_obj, :class_dept_id => class_obj, :weekday => course['weekday'], :lesson => course['lesson'])
end
end
end
end
end
end
分享到:
相关推荐
这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何利用Rails的强大功能来创建一个允许用户上传、分享和浏览图片的应用。 1. **Rails框架基础**: Rails的核心理念是DRY(Don't...
本示例"rails项目起步示例"是一个购物系统,非常适合初学者入门学习。 在Rails项目中,我们首先需要了解的是项目的目录结构。一个标准的Rails应用会包含以下关键部分: 1. **app**:应用程序的核心,包括模型...
"源码"可能指的是书中包含的实际Rails项目代码,读者可以通过阅读和运行这些代码来加深理解。"工具"可能是指一些用于辅助Rails开发的实用程序或者插件,例如数据库管理工具、测试框架或者代码分析工具。 文件名称 ...
通过对Ruby on Rails的源代码进行深入研究,开发者不仅可以提升编程技巧,还能更好地理解和定制框架,以满足特定项目需求。同时,这也有助于理解Web开发的整个生命周期,包括数据库设计、前端交互和服务器响应。
- `rails new`:创建新Rails项目。 - `generate controller`:创建控制器,生成相关的动作和视图文件。 - `generate model`:创建数据库模型,自动生成迁移文件。 4. **数据库和ActiveRecord**: - Migrations...
"rails_best_practices"是一个用于检查Rails项目代码质量的工具,它可以帮助开发者遵循最佳实践,提高代码的可读性和可维护性。 rails_best_practices工具提供了多种检查规则,涵盖了从命名约定到数据库设计,再到...
通常,Rails项目的源代码会包含以下几个关键部分: 1. **Gemfile**:列出项目依赖的Ruby gem库。 2. **Gemfile.lock**:记录具体版本的gem,确保在不同环境中的一致性。 3. **app/**:包含控制器(controllers)、...
### 基于Ruby语言的Ruby on Rails项目及其代码方案 #### 一、项目概述 本项目基于Ruby语言,利用Ruby on Rails(简称Rails)框架构建。Ruby on Rails是一款使用Ruby语言开发的应用程序框架,其核心是MVC(Model-...
"code2"这个文件夹很可能是按照章节或示例组织的,包含了一系列的Ruby on Rails项目实例。以下是一些可能包含的内容: 1. **初始化项目**:`rails new`命令创建的项目目录结构,包括配置文件、数据库迁移、路由定义...
- **Coveralls:** 可以帮助您追踪项目代码覆盖率的变化,并且支持多种持续集成服务。 3. **依赖项更新:** 使用工具如 `gemnasium` 来监控和管理项目依赖,及时更新过时的依赖可以减少安全风险,同时也能利用最新...
通过这个压缩包中的源代码,你可以看到如何组织Rails项目,如何实现RESTful API,以及如何使用测试确保代码质量。此外,书中可能还涉及了数据库迁移、缓存策略、性能优化和安全实践等内容。通过深入学习和实践这些...
密码箱for Ruby和Rails的文件加密支持Active Storage和CarrierWave默认情况下使用AES-GCM进行身份验证的加密使密钥旋转变得容易默认情况下,AES-GCM用于经过身份验证的加密使密钥的旋转变得容易。有关使用Rails安装...
标题 "flexigrid+rails 新手代码-。-" 指涉的是一个关于使用 Flexigrid 和 Ruby on Rails 框架的初级教程或示例项目。Flexigrid 是一个 JavaScript 库,常用于创建可扩展、灵活的表格,而 Ruby on Rails 是一个流行...
教程会详细讲解Rails的安装过程,包括Ruby环境的配置、Rails框架的安装以及创建第一个Rails项目。创建新项目通常使用`rails new`命令,如`rails new myapp`,这会生成一个包含所有必要目录和文件结构的新项目。 ...
总的来说,`GoOnRails`是一个创新的工具,它让Rails开发者能够轻松地在Rails项目中引入Go代码,实现高性能API服务。通过熟练掌握`GoOnRails`,开发者可以在保持高效开发流程的同时,享受到Go带来的性能提升。
指定端口启动rails项目 代码如下:ruby script/server webrick -p 3000 0.创建一个项目 代码如下:rials demoshop 1.用脚手架创建产品(控制 模型 显示 数据) 代码如下:script/generate scaffold product title:...
Ruby on Rails,简称...在实际项目中,我们还需要关注路由配置、控制器操作、视图渲染等方面,这些都是Rails框架的重要组成部分。通过学习和实践这些知识点,你将能够熟练地使用Ruby on Rails构建功能丰富的Web应用。
Rails项目必备组件通常包括框架的核心组件、数据库管理、前端资源、测试工具和其他辅助库。以下将详细介绍这些关键组件及其作用。 1. **Rails框架核心组件**: - **ActionPack**:包含ActionController和Action...
"rails项目.rar"可能包含了项目的源代码,开发者可以通过阅读和修改代码来学习Rails的工作原理。而"cookbook.rar"可能是一个Rails的实践手册,里面包含了各种常见问题的解决方案和最佳实践,帮助开发者解决在实际...
1. **Rakefile**:这是Rails项目中的任务脚本文件,包含了可执行的任务集合,如数据库迁移、测试运行等。 2. **README**:这个文件通常包含项目的简要介绍、安装指南和使用说明,是新用户理解项目用途和如何开始的...