`

Rails -- InPlaceEdit

阅读更多
用過Flickr嗎?
如果你有Flickr相簿,應該對於修改照片標題、說明的方式記憶猶新吧?
那種就叫做 In Place Editing
在Rails中,要實做這種技術並不難,因為本身就內建這個功能
不過到了Rails 2.0將會把這個從內建移除變成Plugins形勢存在
可以參考這篇:In-plcae-editing by Rails
不過我在這裡重新說明一次使用方式吧
如果有<%= javascript_include_tag :defaults %>的話,那只剩下兩個步驟:
Controller:

class ObjectController < ApplicationController
in_place_edit_for :object, :method
end


View:

<%= in_place_editor_field :object, :method %>

這樣就可以建立起最基本的InPlaceEditing欄位
可是最基本的都是英文,因此Rails也提供了修改參數,可以參考這篇
in_place_editor_field欄位有四個參數:
in_place_editor_field(object, method, tag_options = {}, in_place_editor_options = {})
而修改的部分則是放在第四個參數;假設我要修改:saving_text:
<%= in_place_editor_field(:object, :method, {}, {:saving_text => "儲存中..."} %>
改好後記得重新整理頁面!

另外,如果要建立多個欄位的話,必須用這種方法:
class ObjectController < ApplicationController
in_place_edit_for :object, :method1
in_place_edit_for :object, :method2
in_place_edit_for :object, :method3
end


這樣寫超麻煩的!因此可以這樣:

class ObjectController < ApplicationController
%w"method1 method2 method3".each do |m|
in_place_edit_for :object, m.to_sym
end
end

這樣未來在新增刪除上都會很方便!
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
<script type="text/javascript">_uacct = "UA-1447561-1";urchinTracker();</script>
分享到:
评论

相关推荐

    rails-dev-box, 面向 Ruby on Rails 核心开发的虚拟机.zip

    rails-dev-box, 面向 Ruby on Rails 核心开发的虚拟机 用于 Ruby on Rails 核心开发的虚拟机简介注意:这个虚拟机不是为 Rails 应用程序开发而设计的,只是为。 这个项目自动设置开发环境,以便在 Ruby on Rails ...

    rails-settings-ui:用于在Rails应用程序中管理设置的用户界面(使用rails-settings gem)ИнтерфейсдляуправлениянастройкамивRailsприложении

    预习: 实时示例: : 如何添加到Gemfile gem 'rails-settings-ui'然后加gem 'rails-settings-cached'要么gem 'rails-settings'或您的扶手设置。 如果要使用引导程序界面,则还需要在应用程序中包含引导程序样式表...

    rails-2.3.5.gem

    rails-2.3.5.gem redmine必须gem

    sclo-ror42-rubygem-rails-html-sanitizer-1.0.3-1.el7.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    rails-2.1.0-gem

    "rails-2.1.0-gem"是Rails框架的一个特定版本,即2.1.0的gem包,用于在Ruby环境中安装和管理Rails框架。 Rails的核心理念是“约定优于配置”(Convention over Configuration),这意味着开发者可以遵循一套预设的...

    rails-beginner-s-guide

    rails-beginner-s-guide是Rails 指导手册,帮组学习了解rails开发

    rails-ftw-v0.18-2.1.5-4.1.8

    rails-ftw-v0.18-2.1.5-4.1.8.exe用于在windows环境下搭建readmine环境

    rails-documentation-2-0-2

    rails-documentation-2-0-2

    rails-2.3.8.gem

    版本为:rails-2.3.8.gem 可使用指令安装:gem install rails-2.3.8.gem

    rails-2.3.11.gem

    是我搭建redmine过程中所使用到的资源,因为感到很多东西不太好找,所以给上传上来,供自己和大家使用。

    rails-chm-2-0-2.rar

    `rails-documentation-2-0-2.chm` 文件详细涵盖了这些概念,包含了关于Rails 2.0.2的API参考、教程和指南。通过仔细阅读和实践,开发者能够深入理解Rails的工作原理,并有效地开发出高效、可维护的Web应用。

    rails-dev-box:用于Ruby on Rails核心开发的虚拟机

    用于Ruby on Rails核心开发的虚拟机 介绍 请注意,该虚拟机并非为...host $ cd rails-dev-box host $ vagrant up 而已。 安装完成后,您可以使用以下命令访问虚拟机: host $ vagrant ssh Welcome to Ubuntu 20.10

    rails-react-components-源码.rar

    本文将深入探讨"rails-react-components-源码.rar"中的关键知识点,帮助开发者理解如何在Rails应用中集成React组件。 1. **React组件化开发** React的核心概念是组件,它允许我们将UI拆分为独立、可重用的部分。在...

    rails-documentation-1-2-1.zip

    标题 "rails-documentation-1-2-1.zip" 暗示这是一份关于 Ruby on Rails 框架的文档,版本为 1.2.1。Ruby 是一种面向对象的编程语言,而 Rails 是一个基于 Ruby 的开源 Web 应用程序框架,遵循 Model-View-...

    rails-documentation-1-2-0-rc1.chm

    rails-documentation-1-2-0-rc1.chm

    rails-playlists-源码.rar

    "rails-playlists-源码"很可能是某个开发者或团队分享的关于音乐播放列表管理功能的示例代码或项目。在本文中,我们将深入探讨Rails框架的基本概念,以及如何通过源码理解其在实现播放列表功能时的核心技术。 1. **...

    ng-rails-csrf:of-rails-csrf

    ng-rails-csrf 一起使用 AngularJS 和 Rails? 如果您正在发出任何 HTTP 请求,那么“ng-rails-csrf” gem 可以通过自动将 CSRF 令牌添加到 HTTP 标头来提供帮助。 如果您使用 CSRF 保护,Rails 将不会接受没有此...

    rails-development-environment-master.rar

    标题 "rails-development-environment-master.rar" 暗示这是一个关于Ruby on Rails开发环境的压缩包。Rails是基于Ruby语言的一个开源Web应用框架,遵循MVC(Model-View-Controller)架构模式,广泛用于构建数据库...

    rails-yelp-mvp-源码.rar

    【标题】"rails-yelp-mvp-源码" 指的是一个基于Rails框架开发的类似于Yelp(美国知名餐饮评论网站)的最小可行产品(Minimum Viable Product, MVP)的源代码。Rails是Ruby编程语言的一个流行Web开发框架,以其“约定...

Global site tag (gtag.js) - Google Analytics