私はレールアプリを持っています。アプリ内にjquery関数を実装し始めています。
多くのマイルストーンを持つプロジェクト モデルがあります。JQuery を使用して Index アクションで、マイルストーンの Show アクションの一部をレンダリングしようとしています。残念ながら、JS コンソールに次のエラーが表示されるため、これを行うことができません。
GET http://localhost:3000/projects/1/milestones/1 500 (Internal Server Error)
Missing template milestones/show_milestone,application/show_milestone with
{:locale=>[:en], :formats=>[:js, :html], :handlers=>[:erb, :builder, :raw,
:ruby, :jbuilder, :coffee]}
コントローラーショーアクション
def show
@milestone = Milestone.find(params[:id])
respond_to do |format|
format.js {render :show_milestone}
end
end
javascripts/milestones/show_milestone.js
$(document).ready(function() {
$(".milestone-content-area").html("<%=escape_javascript( render( :partial => "milestones/show_milestone", :locals=>{:@milestone=>@milestone} ))%>");
});
ビュー/マイルストーン/_show_milestone.html.erb
<%= @milestone.title %>
index.html.erb
<%= link_to milestone.title, project_milestone_path(@project, milestone), remote: true %>
<div class="milestone-content-area">
</div>
私は自分が間違っていることを理解していないようです。読んでくれてありがとう!
編集: インデックスから link_to ヘルパーを追加しました。