私はJDを選択するためのJob description(JD)ページを作成しようとしています。 私のメインページには、いくつかのジョブを選択するためのフィールドと、選択フィールドの下のテーブルに選択されたジョブの詳細を表示するボタン/リンクがあります(Job descriptions Viewerのように、select2 with RoRを使用)。 (ActionController ActionController :: UnknownFormatRuby on Rails select2 AJAX/JQuery - コントローラにパラメータを渡しても動作しない
私の問題は、私は、コントローラに、選択したジョブIDを渡すことができないということである、と私はこのメッセージを得る:20msの中
完了406受け入れられない(0.0msのActiveRecordを) :: UnknownFormat): アプリ/コントローラ/ job_descriptions_controller.rb:81: `でupdateJobs'
私のコントローラメソッド:
def updateJobs
@selected = JobDescription.where(id: params[:selectJdField2])
respond_to do |format|
format.js
format.html
end
end
メインビュー(jdComparison.html.erb)は、2つのパーシャルをレンダリングします
<h1>Listing Job Descriptions</h1>
<%= render 'sidebar' %>
<div class="clearfix"></div>
<div>
<%= render partial: 'item_list', locals: { job_desc: @job_descriptions} %>
</div>
_sidebar.html.erb部分がselet2フィールドと呼ばれるJDSをリフレッシュするためのリンクを持っている「検索リンク」:
<div class="col-sm-8">
list of JDs:
<%= select_tag "selectJdField", options_from_collection_for_select(@job_descriptions, :id, :job_title), { :multiple => true } %>
</div>
<%= link_to "Find Link", updateJobs_path(@job_descriptions), :remote => true %>
<script>
$(document).ready(function() { $("#selectJdField").select2(); });
</script>
SELECT2フィールドで選択されているすべてのJDSを表示します_item_list.html.erb部分:私は "検索リンク" ボタンをクリックすると
<div>
<table>
<thead>
<tr>
<th>Job title</th>
<th>Department</th>
</tr>
</thead>
<tbody>
<% job_desc.each do |job_description| %>
<tr>
<td><%= job_description.job_title %></td>
<td><%= job_description.department %></td>
</tr>
<% end %>
</tbody>
</table>
</div>
updateJobs.js.erb、(私は私の最初の問題はここにあると思います)JDSリストを更新する必要があり
$("#div_id").html("<%= escape_javascript(render partial: 'item_list', locals: { job_desc: @selected}) %>")
JSファイル(私は)私の第二の問題はここにあると思う:
$ ->
updateLists =() ->
$.ajax
url:'updateJobs'
type: 'post'
dataType: 'html'
format: 'js'
data: {
selectJdField2 : $('#selectJdField').val()
}
路線:
get 'updateJobs' => 'job_descriptions#updateJobs'
post 'updateJobs' => 'job_descriptions#updateJobs'
私はこれでコントローラメソッド交換した場合:
def updateJobs
@selected = JobDescription.where(id: 1)
end
それは、検索リンクをクリックした後、私のJD番号1の詳細を提供します。私は、「ID」を追加
<button id="btnFind">Find</button>
:私は、通常のボタンで「リンクを探す」再発した :親切に、私は
JSファイル –
の' dataType: 'script''で試してみました。同じことをしました。 – Yousef
try - 'method:" post "'代わりに 'type:' post''上記のtryと一緒に) –