短編小説変数を渡すために埋め込まれたRubyでJavaScriptを使用:パラメータとして
を私が埋め込まれたRubyのメソッドのパラメータとしてのJavaScript(具体的には、jQueryの)から変数を渡すようにしようとしています。
長い物語:
これは、すべての機能を開始します。要約すると、jQuery UIを使用して作成された日付ピッカーがあります。
#my_budget.html.erb
<h1 class="text-center">Your Budget</h1>
<h4 class="text-center">Select Month to View</h4>
<input style="width:200px" name="startDate" id="startDate" class="date-picker form-control" placeholder="Select Month"/>
<br>
<br>
<script type="text/javascript">
function setDateRange() {
$('.date-picker').change(function() {
var date = $(this).val();
return date
});
}
$(document).ready(setDateRange);
</script>
私はこの変数(日付)を呼び出すためにrubyを埋め込みました。この値はMM/YYYY形式で渡されます。
#my_budget.html.erb
<td class="section-value"><%= number_to_currency(@user.total_income(date)) %></td>
ここに私のモデルがあります。
#user.rb
# General Income
def total_income(current_month)
total_value = Transaction.joins(:user).where("transactions.sub_category" => '11').where("created_at = ?", current_month).sum(:amount)
total_value
end
かなりの理由から、これは機能しません。
私はRubyのジュニア開発者であり、RubyとJSを特定の機能のために使用する時期はまだ学んでいます。
私のJS変数を埋め込みRubyに渡す最善の方法は何ですか?別の方法として、Rubyを介して入力値を "変更時"に呼び出す方法はありますか?そのため、日付選択ツールでユーザーが「March 2017 March」を選択するとRubyは「ねえ、変わった!それに応じて値を調整します。
ありがとうございました!
HTTPのレッスンのための楽しい時間のように聞こえます。基本的な知識は、このような状況から抜け出すのに役立ちます。 – coreyward
http://stackoverflow.com/questions/32724881/is-there-a-way-to-pass-javascript-variable-into-ruby-method-in-html-erb – gwalshington
Rubyが実行されないことを理解する必要がありますブラウザに表示されます。したがって、サーバーにHTTPリクエストを送信しなくても、Rubyは 'change'イベントを知ることができません。クライアントから見れば、ERBはありません。彼らはHTML/CSS/Javascriptなどしか見ません。 –