我有一個JavaScript變量:如何在Rails中使用erb代碼中的JavaScript變量?
var selectValUser = $('.select_user :selected').val();
我需要使用ERB代碼這個變量在同一頁上,即
<%= get_free_hours_for_user(selectValUser) %>
我該怎麼辦呢?
我有一個JavaScript變量:如何在Rails中使用erb代碼中的JavaScript變量?
var selectValUser = $('.select_user :selected').val();
我需要使用ERB代碼這個變量在同一頁上,即
<%= get_free_hours_for_user(selectValUser) %>
我該怎麼辦呢?
你不能這樣做,因爲在客戶端的JavaScript運行,而在ERB文件中的代碼在服務器端運行,您可以使用Ajax請求發送的值, 再加上這裏是一個令人吃驚的地方rails cast
這裏是一個從javascript發送消息到控制器的例子;當用戶點擊應用程序時,我們在控制器中有一個動作'set_id',它獲得權力,進行驗證等,在視圖的'id_message'div中顯示消息。
$('#apply').live('click', function(event, data, status, xhr) {
event.preventDefault();
return $.ajax({
url: '/users/registrations/set_id',
type: 'GET',
data: {
code: $('#user_id').val()
},
success: function(data, event, status, xhr) {
$('#id_message').html(response);
return $("#id_message").show();
},
error: function(event, data, status, xhr) {
$('#id_message').html(response);
return $("#id_message").show();
}
});
});
希望它會回答你的問題
沒有辦法直接做。原因是,html運行在您的服務器端,而JavaScript運行在您的本地瀏覽器。
可以在這裏找到更多的討論。
How to pass a javascript variable into a erb code in a js view?
而且對於不同的方式來嘗試一下,你可以用這個啓動。
http://jing.io/t/pass-javascript-variables-to-rails-controller.html
和
但在這裏我使用嵌套form.ie項目有許多tasks.for每一個任務我應該分配user.during的用戶分配我應該validation.for此驗證執行I調用幫助器方法<%= get_free_hours_for_user(selectValUser)%> – Inaccessible
因此您可以將'selectValUser'中的數據作爲字符串返回給控制器,並將其分配給某個實例變量並在視圖中使用它 –