Передайте простую переменную с помощью jQ & Ajax в Ruby - PullRequest
2 голосов
/ 12 сентября 2011

Я новичок в Ruby в целом (а также в jQ и Ajax), но я всегда стараюсь читать перед публикацией.

Мне не удалось отправить простую переменную jQuery на контроллер Ruby с помощью Ajax (для плавного перехода).

Возможно ли с помощью AJAX передать простую переменную в контроллер ruby?

Это необходимо, любая другая помощь скриптового языка, как PHP или ASP.NET??

Есть ли еще более простой способ сделать это?

controller.rb

def show_NuevaVista
  app_info(@params['myparam'])
    @show_text = @params['myparam']
  render :action => :test, :back => '/app'  #test is a view that shows the global var show_text
end

view.rb

<button id="botonTweet" >More Tweets</button>
<script type="text/javascript">
$(document).ready(function(){
  $('#botonTweet').click(function(slice) {
    var stub = 1;                               //variable to be sent
      $.ajax({
        type: "POST",
        url: "show_NuevaVista",         //method of the controller
        data: {
          "test": stub                //try to send this variable 
        },
      });
  });
});
</script>

Обновление:

Единственный способ, которым я могу отправить переменную - это с помощью href, и эта переменная объявлена ​​в ruby.

<%= @texto = "LOL!" %>
<%= link_to "Click Here!", :action => :show_NuevaVista,:query => {:myparam => @texto} %> 

1 Ответ

0 голосов
/ 04 января 2012

То, как вы кодируете link_to & jQuery, после вызова ajax все равно будет определять href. Вы можете сделать следующее:

<%= link_to("Click Here", "javascript:void(0);", :id => "botonTweet") %>

Или, если вы хотите, чтобы выполнение href использовалось как запасной вариант, используйте тот же код link_to и обновите свой javascript, чтобы он возвращал false после вызова ajax:

$('#botonTweet').click(function(slice) {
var stub = 1;                               //variable to be sent
  $.ajax({
    type: "POST",
    url: "show_NuevaVista",         //method of the controller
    data: {
      "test": stub                //try to send this variable 
    },
  });
  //this is the key to avoid href redirect
  return false;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...