我正在创建一个Rails应用程序,其导航类似于ipad上的分割视图控制器。有一个左侧菜单("表视图"),用于填充正确内容视图中的内容。我知道像Sencha Touch这样的工具,但我想自己尝试一下。
我的总体流程如下:
当用户触摸表格视图中的某个项目时,例如"概述",我模拟链接点击(使用:remote => true)到控制器/动作,并定义了href通过点击元素的ID(例如" / overview / show")。
控制器将此POST作为JS处理。 "显示"方法定义了一些实例变量,让我们称它们为local1和local2。 respond_to块中的format.js导致调用show.js.erb。
show.js.erb看起来像这样:
$('#detail_content').html("<%= escape_javascript(render :partial => 'show', :locals => {:local1=>@local1, :local2=>, @local2}) %>");
_show.html.erb引用local1和local2,并填充到#detail_content div中。
这似乎可能不是最有效的方式。创建所有这些文件并将实例变量作为本地传递似乎是非Rails,特别是当我需要在每个视图上执行它时。
有更好的方法吗?