簡體   English   中英

使用Ruby Sinatra erb模板訪問jQuery Mobile(jqm)多頁html

[英]Use Ruby Sinatra erb template to access jQuery Mobile (jqm) multipage html

我有一個標准的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

帶有login_page的書簽。

我嘗試訪問的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 HTML JavaScript轉到該錨。

在Sinatra中:

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

在頁面中:

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

這工作了。 我遇到的問題是,我不得不根據事前秀在一頁上進行動態更改,導致我無法上班。

但是,我確實解決了這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM