0

私はレールアプリを持っています。アプリ内に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 ヘルパーを追加しました。

4

1 に答える 1

0

クレジットは@Sabyasachi Ghoshに送られます

show_milestone.js に .erb 拡張子を追加して、ビュー フォルダーに移動するだけでした。

于 2013-09-12T20:09:42.123 に答える