アプリ/ビュー/動物園/ show.html.erb
<p>
<strong>Name:</strong>
<%= @zoo.name %>
</p>
<br>
<p>
<strong>Animal:</strong>
<%= select_tag "animals", options_from_collection_for_select(@zoo.animals, "id", "name"), id: 'select_animal', prompt: "Select Animal to view its info" %>
</p>
<div id="animalInfo">
<ul>
<li><strong>Name: </strong><span id="animalName"></span></li>
<li><strong>Created at: </strong><span id="animalCreated"></span></li>
<li><strong>Updated at: </strong><span id="animalUpdated"></span></li>
</ul>
</div>
セカンド次のステップに、他にそれを作成し、次のコードを入れて...
json.partial! "animals/animal", animal: @animal
第三には、解説のためのコードの中を見て、あなたの動物園スクリプトに次のコードを追加しますイオン
アプリ/資産/ JavaScriptの/ zoos.coffe
ready = ->
$('#animalInfo').hide() # hides the animal's info div
$('#select_animal').change -> # listen to changes in the animals select menu
if $(this).val()
animalId = $(this).val()
output = undefined
$.ajax #calls the animal object but its id
url: '/animals/'+ animalId + '.json',
type: 'GET',
dataType: 'json',
async: false
complete: (jqXHR, textStatus) ->
success: (data, textStatus, jqXHR) -> #return a json animal object
# You can call any object attribute the same way with ruby
# Like this: data.attribute
# Edit this part to adapt with your code
$('#animalName').text(data.name)
$('#animalCreated').text(data.created_at)
$('#animalUpdated').text(data.updated_at)
$('#animalInfo').slideDown()
error: (jqXHR, textStatus, errorThrown) ->
else
$('#animalInfo').slideUp() # hides the animal's info div if no animal selected
$(document).on('turbolinks:load', ready)
私はあなたがあなたに適応するために、上記のコードを微調整する必要があると思うが、コンセプトは同じになり、それがお役に立てば幸いです。
これは、AJAXの素晴らしい組み込み処理を使用して、レールアプリケーションで簡単に実行できます。しかし、説明はかなり広範囲にわたっていますので、ドキュメントを読むことをお勧めします。 http://guides.rubyonrails.org/working_with_javascript_in_rails.htmlには開始方法に関するチュートリアルがあります。 – Ozgar