Отображение вида при нажатии кнопки в rhoMobile - PullRequest
1 голос
/ 22 декабря 2011

Я создал простой проект в ромбике.Мой домашний экран показывает текстовое поле и кнопку.

вот код для этого в 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 в папке настроек, которая находится в папке приложения.

в VibLoc.erb я показываю только две кнопки.

В файле controller.rb в папке настроек я создал функцию show_VibLoc

в этой функции она отображает VibLoc.erb файл

, вот код:

def show_VibLoc
render :action => :VibLoc
end

Код успешно компилируется, но когда я нажимаю на эту кнопку, я не могусм. мой VibLoc вид.

что я здесь не так делаю ??

Ответы [ 2 ]

3 голосов
/ 23 декабря 2011

Когда-то сталкивался с той же проблемой, я обнаружил следующий подход:

  1. , чтобы создать файл .js в папке public / 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>
, чтобы указать источникаякс.

надеюсь, я помог.

0 голосов
/ 22 декабря 2011

Наконец я решил это сам.

Вместо написания этого кода в 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>

Спасибо, что посмотрели на этот вопрос:)

...