我有一个我正在处理的项目的桌面版本和移动版本(目前不是全功能)。
对于桌面,我可以很容易地渲染部分和替换 DOM 对象:
'控制器.rb'
def func
@blah = "hey"
@button_label = "button"
respond_to do |format|
format.html
format.js
end
end
'_func.html.erb'
<%= blah %>
<%= button_to @button_label, {:controller => "controller", :action => "func"}, :method => "put", :remote => true, "data-role" => 'button' %>
'func.js.erb'
$('#camera_container').html("<%=j render 'func' %>")
上面的代码不像在桌面上那样运行。我有一个完全独立的移动部分,因此任何代码更改都不会影响桌面,但控制器是共享的。
当然,最初加载了一个按钮,其动作指向 controller.rb 中的 func 函数,但随后无法“替换自身”。
上面的代码片段适用于使用标准 jQuery 的桌面版本。使用 jQuery-mobile,我收到页面加载错误。现在,我觉得这与按钮没有得到增强以及我想用不同的按钮替换一个按钮(至少,至少)有关。