1

rhomobileで簡単なプロジェクトを作成しました。ホーム画面にテキストボックスとボタンが表示されます。

これがそのためのコードですindex.erb

<div data-role="content">
<br /><br />
 Email Address : <input type="text" name="Email" /><br />
  <form method="POST" action="<%= url_for(:action =>:show_VibLoc) %>">
  <input type="submit" value="Submit" />

</form>

VibLoc.erbこれで、appフォルダーの下にあるsettingsフォルダーに新しいファイルを作成しました。

VibLoc.erb私は2つのボタンだけを表示しています。

設定フォルダの下のcontroller.rbファイルに関数を作成しましたshow_VibLoc

VibLoc.erbこの関数では、ファイルをレンダリングします

コードは次のとおりです。

def show_VibLoc
render :action => :VibLoc
end

コードは正常にコンパイルされますが、そのボタンをクリックするとVibLocビューが表示されません。

私はここで何を間違っているのですか?

4

2 に答える 2

3

同じ問題に一度直面したことがありますが、私が見つけたアプローチは次のとおりです。

  1. コントローラーからメソッドを呼び出す関数を使用して、プロジェクトのpublic /jsフォルダーに.jsファイルを作成するには:

    function ajaxBridge(method,funcName,onSuccess)
    {
    $.ajax({
        type: method,
        url: funcName,
        async: true,
        error: function(xhr){alert("Custom Uncaught AjaxBridge Error 11 :" + "<br/>" + xhr.responseText);},
        success: onSuccess
        });
    }
    
  2. あなたに.erbファイルまたはあなたが持つことができるビュー:

    <input type="button" value="Login" onclick="doValidation()"/>
    
  3. 同じページにajaxメソッドを呼び出すスクリプトを作成します。また、ログイン情報をメソッドに送信します。

    <script type="text/javascript">
    
      function doValidation(){
        var login = $('input#login').val();
        var password = $('input#password').val();
        ajaxBridge("POST","<%= url_for :controller => :Survey, :action => :do_login %>"+"?login="+login +"&password="+password,function(){});
      }
    </script>
    

注: <script type="text/javascript" src="/public/js/AjaxConnector.js"></script>
ajaxのソースを指定するためにインクルードしてください。

私が助けてくれることを願っています。

于 2011-12-23T13:23:33.680 に答える
0

ついに自分で解決しました。

このコードを書く代わりにindex.erb

<div data-role="content">
<br /><br />
Email Address : <input type="text" name="Email" /><br />
<form method="POST" action="<%= url_for(:action =>:show_VibLoc) %>">
<input type="submit" value="Submit" />

</form>

これと交換してください

<div data-role="content">
<br /><br />
<div data-role="fieldcontain">
  Email Address : <input type="text" name="Email" /><br />
  </div>
  <form method="POST" action="<%= url_for(:controller => :Settings, :action =>:show_VibLoc) %>">
  <input type="submit" value="Submit" />

</form>

この質問を見てくれてありがとう:)

于 2011-12-22T12:38:38.637 に答える