一品黄土情

引擎使用

使用命令拷贝migration文件至宿主,产生对应的 tables

rake 引擎名:install:migrations 例:rake bbs:install:migrations
rake railties:install:migrations 无需考虑引擎名拷贝migration文件至宿主

rails 数据库迁移(删除外键,删除索引,更改子弹类型等)

字段操作

add_column :表名, :字段名, :字段类型,comment:'字段功能说明' 添加字段
add_index :表名, :索引字段名 添加索引
add_foreign_key :表名, :关联表名(例:posts) 添加外键
rename_column :表名, :旧字段名, :新字段名 修改字段名
change_column :表名, :要修改的字段名, :要改成的字段类型, comment:"字段功能说明" 修改字段类型
remove_foreign_key :表名, :关联表名 删除外键
remove_index :表名, :索引字段 删除索引
remove_column :表名, :字段名 删除字段

表操作

rename_table :旧表名, :新表名 修改表名
drop_table :表名 删除表

php求1-12之间所有和等于12的子集


  • <?php
  • $arr = array(1,2,3,4,5,6,7,8,9,10,11,12);
  • $n = count($arr);
  • $sub_n = pow(2,$n);
  • $sub_array = array();
  • for($i=0; $i<$sub_n; $i++){
  • $m = sprintf('%0+'.$n.'b',$i);
  • $t_arr = array();
  • for($j=0;$j<$n;$j++)
  • if($m{$j}==1 && $j!=$n) $t_arr[] = $arr[$j];
  • if(array_sum($t_arr)==12) echo '{'.implode(',', $t_arr).'}';
  • }
  • ?>

输出结果为:{12}{5,7}{4,8}{3,9}{3,4,5}{2,10}{2,4,6}{2,3,7}{1,11}{1,5,6}{1,4,7}{1,3,8}{1,2,9}{1,2,4,5}{1,2,3,6}

对象组装数组

pluck与map的区别

<%= item.item_contents.pluck(:content)%> 直接拿出content字段结果为数组
<%= item.item_contents.map{|m| m.content}%> 拿出整条数据遍历出content字段结果为数组
区别:pluck写法更为简介,效率稍微较map和collect高一点。
相同:所实现的结果相同

个人感觉map灵活性更强。

ruby on rails 开发时记录下的内容


  • 脚手架的使用
  • 使用例子如下:
  • rails g scaffold user name:string 这条命令会生成user modle,controller,view以及数据库文件

  • rake db 给已有数据表添加字段
  • 运行:rails generate migration add_fieldname_to_tablename
  • 去生成的DB文件修改model名,以及要添加的字段备注等等

    `def change`
      `add_column :departments, :desc, :string,comment:'部门描述'`
    `end`
  • 执行数据库迁移命令:rake db:migrate

  • 使用脚手架只生成controller rails g scaffold_controller aa 即:只生成aa这个controller
  • 字段名_before_type_cast 对象后加此代码即可查看枚举前的值

© 2017-2020 一品黄土情 陕ICP备17016877号

友链 小夜返回顶部

音乐加载中...
0:00