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

标签 javascript ruby jquery-mobile sinatra erb

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

我的代码很简单:

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 翻译器。知道如何使这项工作或有更好的方法吗?谢谢...

最佳答案

它基本上可以正常工作,但其他代码仍然存在问题,所以我没有使用它。我将 anchor 转换为局部变量,然后引用它的 HTML JavaScript 来转到该 anchor 。

在西纳特拉中:

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

在页面中:

let body = $("body");
let anchor = <%= "\'#{anchor}\'" %>;
body.on("pagecontainerbeforeshow", function (event, ui) {
    body.pagecontainer("change", anchor);
});

这有效。我遇到的问题是,我必须根据 beforeshow 在一个页面上进行动态更改,但我无法开始工作。

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

关于javascript - 使用 Ruby Sinatra erb 模板访问 jQuery Mobile (jqm) 多页 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45747173/

相关文章:

c# - 如何使用 asp.net webform 处理 AngularJs?

javascript - Keystone JS View 上的事件不起作用

ruby-on-rails - Ruby - 遍历模块

jquery - 如何检测何时显示 jQuery Mobile 弹出窗口

javascript - 如何自动调用这个函数

ruby-on-rails - 为什么我的 ruby​​ case 语句不起作用?

ruby - RSpec 如何 stub 打开?

css - Jquery Mobile 和 Jquery UI CSS 问题

javascript - 什么插件用于 jQuery Mobile 和 RequireJS 的国际化?

javascript - 谷歌图表删除底部的文字