0

私のビューには、make_deployment_group.html.erb という名前の「\app\views\deployment_group」にある次のコードがあります。

<%= form_for :folder_name, :remote => true, :method => "get", :url => {:action => "show_workflow_list"} do |f| %>
            <%= f.select :foldernames, options_for_select(@folders, @folders.first)%><br /><br />

            <%= hidden_field_tag 'selected_domain', params[:domain_selected] %>
            <%= hidden_field_tag 'user_name', params[:username] %>
            <pre><%= f.submit "Submit"%></pre>
            <% end%>and my `js.erb` file for the action 

show_workflow_list.js.erb: 「\app\views\deployment_group」にある show_workflow_list.js.erb

$('#workflow_selection').html("<%=j render "show_workflow_list" %>");

私のapplication.html.erbファイル:

<!DOCTYPE html>
<html>
<head>
  <title>Authorize</title>
  <%= stylesheet_link_tag    "application" %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>
</head>
<body>

<%= yield %>

</body>
</html>

ドロップダウンに変更があるたびに、送信ボタンを削除し、ビューshow_workflow_listのタグにパーシャルをレンダリングしたいと思います。<div>フォルダーの。

助けてください、

ありがとう

4

1 に答える 1

2

これは JQuery で行う必要があります。js ファイルでは、ドキュメントの準備ができたら、app/assets/application.js に次のようなものが必要です。

$('#foldernames').change(function() {
  $('#folder_name').submit()
});

または、 coffeescript を使用する場合は次のようになります。

$('#foldernames').change = () ->
  $('#folder_name').submit()

それは動作します。邪魔にならないJavaScriptです!選択を変更するとフォームが送信され、ajax 関数でコントローラーのアクションが呼び出され、js.erb ファイルのコンテンツが実行されます。

于 2012-07-25T18:11:58.217 に答える