RailsアプリでJavascriptを動作させようとしています。
インデックスページで、インデックスページの個々のアイテムを編集し、編集時にインデックスページを再読み込みできるようにしたいのですが。
私のindex.html.erbページは次のようになります:
<div id="index">
<%= render 'index' %>
</div>
私のindex.js.erbには:
$('#index').html("<%=j render 'index' %>");
そして私のholders_controllerで:
def edit
holder = Holder.find(params[:id])
end
def update
@holder = Holder.find(params[:id])
if @holder.update_attributes(params[:holder])
format.html { redirect_to holders_path } #, flash[:success] = "holder updated")
## ^---Line 28 in error
format.js
else
render 'edit'
end
end
索引ページをロードするときは問題ありません。編集ボタンをクリックしてフォームを送信するとすぐに、次のようになります。
しかし、戻ってインデックスページを更新すると、編集内容が保存されます。何が悪いのですか?
responds_to
ブロックの書き込みを忘れました:
def update
@holder = Holder.find(params[:id])
if @holder.update_attributes(params[:holder])
respond_to do |format|
format.html { redirect_to holders_path } #, flash[:success] = "holder updated")
format.js
end
else
render 'edit'
end
end
しかし、私はあなたのindex.html.erbに疑いを持っています、私はそれがあなたの考えている方法で本当にうまくいくとは思いません。