2007-10-08
Rails宝典之七十四式:复杂表单Part2
关键字: Rails Complex Form
这次来看看如何使用JavaScript和RJS来动态添加和删除表单域:
继续上次的例子,我们首先要在layout里引入Prototype.js
然后是新建project的页面模板:
这里add_task_link是我们在projects_helper.rb里添加的一个helper方法:
这里用到RJS的insert_html
然后看看一个partial页面模板_task.rhtml:
这里用到Prototype.js里的up方法查找上一个class为task的div
继续上次的例子,我们首先要在layout里引入Prototype.js
<%= javascript_include_tag :defaults %>
然后是新建project的页面模板:
<div id="tasks"> <%= render :partial => 'task', :collection => @project.tasks %> </div> <p><%= add_task_link "Add a task"%></p>
这里add_task_link是我们在projects_helper.rb里添加的一个helper方法:
def add_task_link(name)
link_to_function name do |page|
page.insert_html :bottom, :tasks, :partial => 'task', :object => Task.new
end
end
这里用到RJS的insert_html
然后看看一个partial页面模板_task.rhtml:
<div class="task">
<% fields_for "project[task_attributes][]", task do |task_form| %>
<p>
Task: <%= task_form.text_field :name %>
<%= link_to_function "remove", "this.up('.task').remove()" %>
</p>
<% end %>
</div>
这里用到Prototype.js里的up方法查找上一个class为task的div
发表评论
- 浏览: 723149 次
- 性别:

- 来自: BJ

- 详细资料
搜索本博客
我的相册
screenshot
共 1 张
共 1 张
最近加入圈子
最新评论
-
Why OO sucks
看成去QQ SUCK 了
-- by xhanxhanxhan -
Rails的富文本编辑器插件 ...
有没有那个像textmate那种语法高亮的富文本编辑器?
-- by zllicho -
翻译www.djangobook.com之 ...
weiertzw 写道 1. >>> from django. ...
-- by chenjihua75 -
PHP、CakePHP哪凉快哪呆 ...
这孩子被java毒害太深。。。跳出java,你会发现外面的世界真的很大。
-- by woodless -
学习svn命令
只会用 apt-get 不是好孩子。
-- by smartly






评论排行榜