`

In-plcae-editing by Rails

    博客分类:
  • ajax
阅读更多

ㄜ,其實真的很難解釋什麼叫做 in-place-editing 這個 AJAX 效果,簡單講就是你可以直接編輯畫面上某些欄位,而不用進入專門編輯的頁面,上圖就是最典型的效果。

這個效果廣泛的使用在 Flickr 以及其他的 AJAX 網頁。由於太過方便,常用,所以 script.aculo.us 就有這個效果,Rails 也對這個效果寫了相當方便的 Javascript Helper,並且做出一個相當完善的整合。雖然這個功能在 Rails 2.0 裡面即將被取消內建,轉為 plugin 形式,但是由於日常生活使用到的機會也蠻多的,我還是第一個 AJAX 效果就介紹這個。Ruby on Rails 上面要使用 in-place-editing 是相當相當方便的。一共有三步,我們假設我們想 in-place-editing abc model 裡面的 name column。

第一步:加入相關 Lib
在 HTML head 裡面加入相關 Javascritp Lib
javascript_include_tag :defaults


第二步:View
在view 裡面,你需要 in-place-editing的位置,加入相關 in-place-editor 的 field
in_place_editor_field 'abc' , 'name'


第三步:Controller
在你的 controller 裡面,加入 in-place-editor 的宣告
class AbcController < ApplicationController
in_place_edit_for :abc , :name
end


沒錯,不多不少三步就好。沒有任何 Javascript 宣告,只有簡潔有力的 Rails Style Coding,很棒吧。

中文化

如果你想將裡面內建的 ok , cancel 改成中文的話,請在 view 裡面使用
in_place_editor_field 'abc' , 'name' , :save_text =""> '儲存' , :cancel_text => '取消' , :loading_text => '儲存中'
即可變成中文字。

多個 column in-place-editing

如果你想要一個 controller 有多個 in-place-editing 的 column,這裡就有點不方便了,可能必須要這樣寫
class AbcController < ApplicationController
in_place_edit_for :abc , :name
in_place_edit_for :abc , :nickname
end

延伸閱讀
分享到:
评论

相关推荐

    Visual-Studio-Code-End-To-End--editing and debuging for web developer.pdf

    In a surprisingly short period of time, Visual Studio Code has become very popular among web developers. Part of that is because it’s fast, lightweight, and is available on the three main platforms ...

    success-128-switch-editing.zip_editing

    标题中的"success-128-switch-editing.zip_editing"暗示了这是一个关于编辑与修改的项目,可能涉及数字电路设计,特别是与128个开关有关的系统。描述提到"controlling D flipflop circuit",这直接指向了数字电子...

    bash-vi-editing-mode-cheat-sheet

    bash-vi-editing-mode-cheat-sheet Readline VI Editing Mode Cheat Sheet Default Keyboard Shortcuts for Bash

    video-editing-timeline:Timeline for video editing(为视频编辑而写时间线)

    The video-editing-timeline repo contains three packages: video-editing-timeline (native version), video-editing-timeline-react (react version), and video-editing-timelinevue (vue version). You can ...

    geomajas-plugin-editing-javascript-api-1.15.0-M3.zip

    《geomajas-plugin-editing-javascript-api-1.15.0-M3.zip》是一个与开源GIS(地理信息系统)相关的压缩包,主要包含了用于GWT(Google Web Toolkit)客户端的编辑功能的JavaScript API。这个API是geomajas项目的一...

    how-to-invoke-the-appointment-editing-form-instead-of-in-place-editing-e1304:.NET,WinForms,XtraScheduler套件

    要查看的文件: (VB: )如何调用约会编辑表而不是就地编辑下面的示例演示如何更改最终用户在Scheduler控件中按下键时执行的默认操作。 默认情况下将调用就地编辑器,从而使用户能够修改“主题”字段。...

    Poisson-Image-Editing.rar_editing_poisson_poisson editing_poisso

    波松影像编辑是一种高级的图像处理技术,源自Perez等人在2003年SIGGRAPH会议上发表的研究成果。这项技术的核心在于实现图像的无痕复制,使得图像的修补或拼接变得极其自然,几乎无法察觉到人工操作的痕迹。...

    Bash-Terminal-Keyboard-Shortcuts-for-Editing.pdf

    在IT行业中,Bash Shell是Linux和Unix操作系统中广泛使用的命令行界面,它为用户提供了一种与系统交互的高效方式。对于经常在终端中工作的人来说,掌握Bash终端的编辑快捷键可以极大地提高工作效率。...

    fyilmaz2312-fyilmaz2312-Ajax-and-AspNetMvc-Page-in-Without-Refreshing-The-Product-Editing-Adding

    标题 "fyilmaz2312-fyilmaz2312-Ajax-and-AspNetMvc-Page-in-Without-Refreshing-The-Product-Editing-Adding" 暗示了一个关于使用Ajax技术和ASP.NET MVC框架实现页面无刷新的产品编辑与添加功能的项目。这个项目的...

    gogozhq#NGS-analysis-old#RNA-editing分析实战1

    目录RNA-editing分析实战- 获取合适的测试数据RNA-editing分析实战获取合适的测试数据 目录我们要找到的数据集要满足以下几个条件:- ribo

    core-editing.rar_editing

    在这个"core-editing.rar_editing"压缩包中,我们可以看到一个关于JSF的应用实例,特别关注了核心编辑功能,包括增、删、改、查以及分页操作。 首先,**增删改查(CRUD)**是任何数据库应用的基本操作。在JSF中,...

    bash-vim-editing-cheat-sheet

    在Linux系统中,Bash是默认的命令行界面,而Vim是一个功能强大的文本编辑器,两者通常在系统管理和软件开发中扮演重要角色。此文档是一份关于在Bash中使用Vim模式编辑命令行的快捷参考,即通过在用户主目录下的....

    uni-sans_fonts_Uni-sans_editing_

    标题中的“uni-sans_fonts_Uni-sans_editing_”表明这是一个关于Uni Sans字体的集合,主要用于编辑工作,如Photoshop (psd)文件或其他类型的文档。这些字体可能提供了多种样式,以满足不同设计和排版的需求。 描述...

    matlab开发-Poissonimageediting

    在本项目中,“matlab开发-Poissonimageediting”是一个基于MATLAB的图像处理技术,主要涉及Poisson图像编辑,这是一种高级的图像融合和编辑方法。它允许用户在源图像和目标图像之间进行无缝克隆和混合,同时保持...

    webical - web based iCalendar editing-开源

    【webical - web based iCalendar editing-开源】 `webical` 是一个基于Web的iCalendar编辑器,允许用户通过浏览器来创建、编辑和管理iCalendar格式的日历数据。这个项目的核心理念是提供一种轻量级、易用且跨平台...

    matlab开发-PoissonImageEditing

    在MATLAB开发中,"PoissonImageEditing"是一个基于泊松方程的图像编辑技术,主要用于实现无缝图像拼接和图像复原。这个项目直接实现了佩雷斯(Pérez)等人在泊松图像编辑领域的研究成果,它允许用户在保持图像局部...

    英文原版-Digital Video Editing Fundamentals 1st Edition

    A unique compact book on digital video editing fundamentalsCovers digital video file formats and data footprint optimizationTeaches you how to build a production pipeline,解压密码 share.weimo.info

    cursive-1.1.0-15-by-HRM

    cursive for idea Advanced structural editing, refactorings, VCS integration and much more...Best in class interop with Java for mixed projects All standard IntelliJ features (project management, VCS etc)

    Edit-mode-settings.zip_editing

    在标题"Edit-mode-settings.zip_editing"中,我们可以推断这是一个关于编辑模式设置的程序或脚本的压缩包,其可能包含了用于修改或重置系统编辑环境的代码。描述"routine for editing or factory setting of a ...

Global site tag (gtag.js) - Google Analytics