2016-10-12 3 views
0

実際のボタンをクリックする前に、Calendar/_form.html.erbから部分を引き出すために使用しているこのコードは部分をレンダリングしています。これを行うより効率的な方法はありますか?また、CSS/jを正しく引き出すこともできません。私は、データやパーシャルを引っ張る、この方法は、(angularjsは、例えば単一ページのアプリケーションを作成するためのdiff方法でそれをやっているようだ)正しい方法ではないと思われるし始めているいくつかの理由Javascript関数(Ruby on rails)でonclick関数を使用して部分を引っ張る

<div id="demo"> 
    This Will Magically Change to the partial i am rendering! 
</div> 

<button onclick="myFunction()"> Switch to partial button </button> 

<script> 
    function myFunction() { 
    document.getElementById ("demo").src = <%= render 'calendars/form' %>; 
    } 
</script> 

答えて

1

ルートファイルに別のルートを作成します。

次に、以下のメソッドを追加し、あなたのコントローラで

<%= link_to "Switch to partial button", calender_path, :remote => true %> 

に1

<button onclick="myFunction()"> Switch to partial button </button> 

以下に変更します。

def calender 
    respond_to do |format|    
    format.js 
    end   
end 

次に、あなたの正しいディレクトリにcalender.js.erbを作成し、そのファイルに次のコードを追加する必要があります。

$('#demo').html("<%= render :partial => 'form' %>"); 

参考:Tutorial

関連する問題