carrierwave组件是一个,文件/图片 上传下载相关的组件,使用配置如下
①:在Gemfile中加入gem ‘carrierwave’, '0.6.2’进行上传配置
②:执行bundle install
③:rails generate uploader Avatar #将会生成文件app/uploaders/avatar_uploader.rb
这个文件是用来配置图片上传的名字、地址、大小等一系列东西的
④:在model中添加如下配置(这个model是你需要保存图片数据库表对应的model,
其中avatar,是你保存图片的字段,AvatarUploader是第③步生成的名字)
mount_uploader :avatar, AvatarUploader
⑤:在生成的app/uploaders/avatar_uploader.rb文件中进行如下配置
def extension_white_list
%w(jpg jpeg gif png)
end
⑥:前端form表单上传
<%= f.file_field :avatar %>
#前端显示
<%= image_tag@user.avatar_url if @user.avatar %>
kaminari:分页组件 (比较简单)
①:在Gemfile中加入gem 'kaminari’进行分页配置
②:执行 bundle install
③:执行rails g kaminari:config 在config\initializers生成一个对分页进行配置的文件
④:在controller中添加
def index
@events = Event.page(params[:page]).per(5)
end
即可实现分页 前端配置未确定
⑤:前端对应页面直接写入
<%= paginate @products %>
即可
⑥:::
如果你想修改其中的文字的话,可以通过修改相应的config/ locales 下的语言文件en.yml来实现
例如:在默认语言en:之后添加
views:
pagination:
first: "« 首页"
last: "末页 »"
previous: "« 上一页"
next: "下一页 »"
truncate: "..."
会变成中文的分页
roo:Excel读取组件 (比较简单)
①:在Gemfile中加入gem ‘roo’进行分页配置
②:执行 bundle install
③:直接在controller使用xlsx = Roo::Spreadsheet.open(’/home/loginPro/test.xlsx’)
作用:读取xlsx文件,然后可以对xlsx直接操作
eg:render plain: xlsx.row(j)[i].inspect等等
xlsx.row(j)[i]、xlsx.column(1)[1]
devise:登录注册相关组件
关于devise组件可以参考这篇文章,介绍比较详细