Javascript 使用Ruby Sinatra erb模板访问jQuery Mobile(jqm)多页html

Javascript 使用Ruby Sinatra erb模板访问jQuery Mobile(jqm)多页html,javascript,ruby,jquery-mobile,sinatra,erb,Javascript,Ruby,Jquery Mobile,Sinatra,Erb,我有一个标准的jQuery Mobile多页HTML文件,需要使用ERB模板从我的Sinatra应用程序访问该文件。我不知道如何访问文件中的书签或锚定 我的代码很简单: get '/login' do erb :'admin.html#login_page' end 但是,我得到的是: No such file or directory @ rb_sysopen - .../views/admin.html#login_page.erb: 我试图访问的文件是 admin.html.erb

我有一个标准的jQuery Mobile多页HTML文件,需要使用ERB模板从我的Sinatra应用程序访问该文件。我不知道如何访问文件中的书签或锚定

我的代码很简单:

get '/login' do
  erb :'admin.html#login_page'
end
但是,我得到的是:

No such file or directory @ rb_sysopen - .../views/admin.html#login_page.erb:
我试图访问的文件是

admin.html.erb

带有登录页面的书签

我试图访问的HTML模板部分如下所示,尽管还包括其他页面

<div data-theme="b" data-role="page" id="login_page">
  <%= partial :'main-header.html', locals: {page: 'Management Console Login'} %>
  <div class="ui-content">
    <a href="#login" data-rel="popup" class="ui-btn ui-btn-inline ui-corner-all ui-icon-check ui-btn-icon-left">Admin
      Login</a>
    <div data-role="popup" data-history="false" id="login" class="ui-content" style="min-width:250px;">
      <form action='/login_process' method='post' data-ajax='false'>
        <div data-role="controlgroup">
          <h3>Administrative Login</h3>
          <label for="logon" class="ui-hidden-accessible">Logon:</label>
          <input type="text" name="user" id="logon" placeholder="Logon">
          <label for="password" class="ui-hidden-accessible">Password:</label>
          <input type="password" name="password" id="password" placeholder="Password">
          <input type="submit" id="loginButton" data-transition="flip" value="Login">
        </div>
      </form>
    </div>
  </div>
  <%= partial :'frontend/footer.html' %>
  <script type='application/javascript' src='assets/login_modal.js'></script>
</div>

管理登录
登录:
密码:

我只是简单地渲染它,但我需要Ruby转换器。你知道怎么做吗,或者有更好的方法吗?谢谢

它基本上是通过一个扭曲的方式工作的,但是其他代码仍然存在问题,所以我不使用它。我将锚点转换为一个局部变量,然后引用HTML JavaScript以转到该锚点

在西纳特拉:

erb :'admin.html', :locals => {:anchor => "#login_page"}
在页面中:

let body = $("body");
let anchor = <%= "\'#{anchor}\'" %>;
body.on("pagecontainerbeforeshow", function (event, ui) {
    body.pagecontainer("change", anchor);
});
let body=$(“body”);
让锚=;
body.on(“pagecontainerbeforeshow”,函数(事件,ui){
body.pagecontainer(“更改”,锚定);
});
这起作用了。我遇到的问题是,基于beforeshow,我不得不在一个页面上进行动态更改,我无法开始工作


但是,我确实解决了这个问题

它基本上是通过一个扭曲的方式工作的,但是其他代码仍然存在问题,所以我不使用它。我将锚点转换为一个局部变量,然后引用HTML JavaScript以转到该锚点

在西纳特拉:

erb :'admin.html', :locals => {:anchor => "#login_page"}
在页面中:

let body = $("body");
let anchor = <%= "\'#{anchor}\'" %>;
body.on("pagecontainerbeforeshow", function (event, ui) {
    body.pagecontainer("change", anchor);
});
let body=$(“body”);
让锚=;
body.on(“pagecontainerbeforeshow”,函数(事件,ui){
body.pagecontainer(“更改”,锚定);
});
这起作用了。我遇到的问题是,基于beforeshow,我不得不在一个页面上进行动态更改,我无法开始工作


但是,我确实解决了这个问题

模板是什么样子的?您使用的是布局文件还是独立模板?@maxpleaner我添加了模板。然而,问题是如何以提供引用BookMaker/anchor功能的格式使用erb template命令。谢谢。如果您不在运行时修改此方法,则可能不可能。模板看起来如何?您使用的是布局文件还是独立模板?@maxpleaner我添加了模板。然而,问题是如何以提供引用BookMaker/anchor功能的格式使用erb template命令。谢谢。如果您不在运行时修改此方法,可能不可能。