以下内容仅适供学完过全栈营rails101课程的同学参考,Github传送门paperclip
实现图片上传功能是通过一个叫paperclip
的gem
实现的,在安装paperclip
之前有点准备工作需要做一下:
- 确保你的 Mac 已经安装了
imagemagick
。在终端输入which convert
,如果返回了/usr/local/bin/convert
命令,则说明 imagemagick 已经装好了,可以跳过这一步;如果没有,则需要通过brew install imagemagick
指令来安装(没有brew
的需要另行安装 brew
)。
- 在
Gemfile
目录下添加gem "paperclip", "~> 5.0.0"
, 记得要保存;
- 终端输入
bundle install
;
- 终端输入
rails generate paperclip group image
(group指的是你的项目名称);
- 终端输入
rake db:migrate
;
-
Ctrl + c
重启 server
;
- 在
app/models/group.rb
文件中添加
validates_attachment_content_type :image, content_type: /\Aimage\/.*\z/```;

7. 修改`_form.html.erb`文件,增加`<%= f.input :image, as: :file %>`

8. 修改`app/controller/group_controller.rb`将`image`添加到`group_params `函数中

9. 现在你可以试试新建一个页面,在 new 的页面中你会发现有添加图片的选项了

不过添加完图片后页面没有显示,这是因为 index页面还没有做相应的修改;
10. 打开`app/views/groups/index.html.erb`添加```<td><%= image_tag group.image.url(:medium, class: "group_image")%></td>```

11. 现在再试试看,哇哦!

12. 在 edit 和 show 页面中显示图片只需要添加这一行即可```<%= image_tag @group.image.url(:medium)%>```;


###祝你安装顺利😄
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。