我有一個帶有2個輸入和按鈕的窗體。在第一輸入一個用戶把饋源URL,然後按下按鈕:將js變量傳遞給服務器代碼
<%= link_to "get name", { :controller => 'Feeds', :action => "get_title" },
:remote => true, :class=>'btn btn-mini' %>
這裏是控制器方法
def get_title
respond_to do | format |
format.js {render :layout => false}
end
end
這裏是一個get_title.js.erb:
var url = $("#feed_url").val();
console.log(url);
$("#feed_name").val("<%= @proxy.title(url) %>");
我獲取第一個輸入的值,並將其作爲參數傳遞給Ruby類。但在這種情況下,我得到的錯誤:
ActionView::Template::Error (undefined local variable or method `url' for #<#<Class:0x41ec170>:0x41ef968>):
1: var url = $("#feed_url").val();
2: console.log(url);
3: $("#feed_name").val("<%= @proxy.title(url) %>");
Rails這'url'是一個Ruby變量,但不是JS之一。
如何將JS變量傳遞給Ruby代碼?
在此先感謝。
Ruby運行在服務器端。 JS在客戶端。因此,這是一種單向通信,不可能將視圖中的信息發送到Rails應用程序。 –
那麼,在這種情況下最好的解決方案是什麼?使用JS製作另一個AJAX請求? – demas