ruby on railst添加照片,翻译,美化界面及用户注册

2017-08-27 19:58:48来源:CSDN作者:Li_peilun人点击

分享

1.给表添加选择照片功能:

a.gemfile文件添加依赖:(github 搜paperclip里面有)

gem "paperclip"

b.终端输入bundle安装

rails_admin的github里面wiki找到paperclip里面复制这句话

c.rails generate paperclip 表名 asset(这里是student)

d.在app->model->找到要添加的表

这里写图片描述

输入:(只需要输入class到end之间的代码也就是has到1})

class Product < ActiveRecord::Base  has_attached_file :asset,    :styles => {      :thumb => "100x100#",      :small  => "150x150>",      :medium => "200x200" }  validates_attachment_content_type :asset, :content_type => //Aimage//.*/Z/  # add a delete_<asset_name> method:   attr_accessor :delete_asset  before_validation { self.asset.clear if self.delete_asset == '1' }end

输入rake db:migrate生效,会出现报错:

这里写图片描述

这是因为Migration[4.2]版本问题,将

在db->migrate找到刚刚生成的添加图片的操作:

这里写图片描述

需要在Migration后面标注版本即改为Migration[5.1]

rake db:migrate

重启服务器 rails s;

打开student表:

这里写图片描述

添加图片功能已经添加进去。

2.翻译数据库:

这里默认都是英文版,给用户体验很不好,我们需要将其翻译成中文:

同样在wiki里面找到第七项Translations

打开config->locales:创建下面对应的文件:

1.rails_admin.zh-CN.yml:

rails_admin.zh-CN.yml

将链接里面代码复制进去

2.zh-CN.yml:

zh-CN.yml

3.config下面的application.rb里面加代码:

这里写图片描述

  config.load_defaults 5.1    config.load_defaults 5.1        config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]        config.i18n.default_locale = :'zh-CN'

重启rails s;
效果:

这里写图片描述

很明显,里面的自己定义的属性还是英文。

在zh-CN.yml文件里面添加代码:

这里写图片描述

在activerecord:里面加models和attributes修改对应的表名和属性。

注意 冒号和引号之间需要空格,不然表名和属性关键字识别不了。

3.美化界面(添加树级关系)

这里由于只建了两个表 ,只是为了展示效果,多个表更明显。

在config->initializers里面的rails_admin.rb添加代码:

这里写图片描述

这里给表名上面添加一行信息,加标签。

config.model 'Tclass' do    navigation_label '班级管理'  end

这里为了显示父子关系,多建几个表。

这里写图片描述

注意这里表名单词开头必须大写,中间没有其他字符。

然后rails s

这里写图片描述

上面的班级学生管理 后台管理是在rails_admin.rb一开始加一句代码:

这里写图片描述

config.main_app_name = ["班级学生管理", "后台管理"]

4.用户注册

进入数据库系统需要登录信息才可以进入。

这里用到了devise需要添加依赖:

gem 'devise'

然后终端输入bundle安装。

接着输入:

rails generate devise:install

这里写图片描述

这里有4个选项,我们可能会用到的是第四个views 界面设计,所以这里选择第四个

rails g devise:views

然后输入:

rails generate devise admin

输入代码:

这里写图片描述

同样在rails_admin.rb里面添加上面两句话:

config.authenticate_with do   warden.authenticate! scope: :admin end config.current_user_method(&:current_admin)

这里写图片描述

routes.rb里面添加admin:

这里写图片描述

devise_for :admins

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台