簡體   English   中英

將JavaScript變量傳遞給Rails控制器

[英]Pass JavaScript variables to Rails controller

我正在使用Rails版本3.2.6,並且試圖將Javascript變量傳遞給另一個頁面“ Test10”。 我在視圖中有以下代碼:

<script>
var message = "hello world!";
</script>

<%= link_to "Go!", Test10_path(), :with => "'message='+ message"  %>

該參數未傳遞給Test10。 我在Test10控制器中具有以下內容:

def Test10
  @hello = params[message]
end

這是將Javascript變量傳遞到我的rails控制器的正確方法嗎? 它不起作用。 我將不勝感激任何指針。 謝謝!

<%= link_to "Go!", Test10_path(), :id => "my_link"  %>


<script>
    var message = 'test';
    var url = $('#my_link').attr('href') + '?message=' + message;
    $('#my_link').attr('href', url);
</script>

這樣的事情應該起作用。 盡管在大多數情況下,最好通過使用表單來傳遞參數...

你做不到 JavaScript和Ruby代碼在完全不同的上下文中執行,客戶端上的JavaScript和服務器上的Ruby。

通常,如果要將值從客戶端傳遞到服務器,則需要以某種形式或作為查詢字符串的一部分將其回發,或者通過AJAX進行。

在您的特定示例中,您將必須編寫一些JavaScript,該JavaScript選擇錨標記並將message變量的內容附加到錨標記的查詢字符串。 類似於以下內容:

<script>
  var message = "hello world!";

  // Select your anchor tag
  var link = $('a#my-link');

  // Append your message to the link's href attribute
  link.attr('href', link.attr('href') + "?message=" + message);
</script>

暫無
暫無

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

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