在rails里使用script.acluo.us的 InPlaceEditor control/accompanying helpers使In-Place From Editing更简单。
做一个脚手架,建好数据库。
rails 2里面需要安装in_place_editing plugin
ruby script/plugin install in_place_editing
1. 使用Ajax,在View layout面加入Javascript
放在layout里 app/views/layouts/对整个控制器有效
<%= javascript_include_tag :defaults %>
2. 在对应的View里面加上
<%= in_place_editor_field :xxxx, :column.name %>
第一个参数是一个实例变量的名字,第二个应该实例变量的一个字段。<数据库中记录和字段的关系>
这时还需要一个控制器的Action去处理这个请求
3. Action
增加in_place_edit_for,能够动态的产生需要的set_xxxx_<column.name> action
Xxxx.content_cloumns.each do |column|
in_place_edit_for :xxxx, :column.name
end
最后就是InPlaceEditor的CSS了
.inplaceeditor-form input[type="text"]{
width: 260px;
}