では、標準の To Do リスト アプリケーションとほぼ同じ、アイテム アプリを使用した非常に単純なリストを作成します。belongs_to :list
リスト ( pointと list )内の新しい「ポイント」の作成を ajax 化することができましたがhas_many :points
、「破棄」アクションに問題があります。
Error: Syntax error, unrecognized expression: /lists/10/points/125
ブラウザーで破棄リンクをクリックしても、何も表示されず、リストとポイントの ID に応じて異なる値で明らかにエラーが発生します。
ページを更新するかデータベースを見ると、エントリが実際に削除されていることが明らかです。ajax がなければ、私の破棄アクションは問題なく機能します。明らかな何かが欠けているように感じます。何かアイデアはありますか?
ちなみに、「pro」属性は、すべてのポイントに関連付けられた単なるブール値です。
points_controller.rb
def destroy
@point = @list.points.find(params[:id])
@point.destroy
respond_to do |format|
format.html { redirect_to list_url(@list) }
format.js
end
end
リスト/show.html.erb
<% @list.points.each do |point| %>
<% if point.pro == true and point.valid? == true %>
<li class="weight-<%= point.weight %>"><%= point.content %>
<%= link_to "×".html_safe, [@list, point],
:remote => true,
:method => :delete,
:class=> "close",
:data => {:dismiss => 'alert'} %>
</li>
そして、コードが実行されていないように見えるため、views/points/destroy.js.erbに何を入れても問題ないようです。
アップデート
私はそれを理解しました。削除リンクのパスを に変更する必要がありましたlist_point_url(@list, point)
。もう 1 つの問題は、無効な JavaScript がサーバー エラーを引き起こしていたため、何が問題なのかわかりませんでした (#<%= dom_id(@point) %>
引用符で囲む必要があることがわかりました)。
皆さんありがとう!