Webpage LookAjaxをRailsに実装する方法は?
私はTodo Listを持っており、Todo Itemsを含んでいます。それぞれの不完全なタスク(アイテム)には、そのアイテムの横に「完了アイテムとしてマークする」というボタンがあります。 (button_to
メソッドを参照してください)そのボタンをクリックするたびに、その項目に入り、完了したとマークする必要があります。しかし、私はこのプロジェクトにAJAXを実装するのに苦労しており、私は助けが必要です。私はレールとアヤックスを初めて使っているので、私は何をしているのか分かりません... update.js.erb
の警告メッセージは、そこに到達しているかどうかをテストすることです。
私は_todoitems.html.erbまたは_todolists.html.erbと呼ばれる部分的なファイルを作成することになっているだろうか?それ以外に何が欠けているのですか、それ以外に何が必要ですか?ここで
はroutes.rbを...私はこれまで何をやったかの関連ファイルである
todolist_todoitems GET /todolists/:todolist_id/todoitems(.:format) todoitems#index
POST /todolists/:todolist_id/todoitems(.:format) todoitems#create
new_todolist_todoitem GET /todolists/:todolist_id/todoitems/new(.:format) todoitems#new
edit_todolist_todoitem GET /todolists/:todolist_id/todoitems/:id/edit(.:format) todoitems#edit
todolist_todoitem GET /todolists/:todolist_id/todoitems/:id(.:format) todoitems#show
PATCH /todolists/:todolist_id/todoitems/:id(.:format) todoitems#update
PUT /todolists/:todolist_id/todoitems/:id(.:format) todoitems#update
DELETE /todolists/:todolist_id/todoitems/:id(.:format) todoitems#destroy
todolists GET /todolists(.:format) todolists#index
POST /todolists(.:format) todolists#create
new_todolist GET /todolists/new(.:format) todolists#new
edit_todolist GET /todolists/:id/edit(.:format) todolists#edit
todolist GET /todolists/:id(.:format) todolists#show
PATCH /todolists/:id(.:format) todolists#update
PUT /todolists/:id(.:format) todolists#update
DELETE /todolists/:id(.:format) todolists#destroy
root GET / todolists#index
todolists/_form.html.erb
<%= form_for(@todolist, remote: true) do |f| %>
todolists_controller.rb
# PATCH/PUT /todolists/1
# PATCH/PUT /todolists/1.json
def update
respond_to do |format|
if @todolist.update(todolist_params)
format.html { redirect_to @todolist, notice: 'Todolist was successfully updated.' }
format.json { render :show, status: :ok, location: @todolist }
format.js
else
format.html { render :edit }
format.json { render json: @todolist.errors, status: :unprocessable_entity }
end
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_todolist
@todolist = current_user.todolists.find(params[:id])
end
todolists/show.html.erb
<!-- paginate_items is basically the current user's items -->
<% @paginate_items.each do |item| %>
<div class="list">
<% if item.due_date > Date.today %>
<% if item.done? %>
<a class="complete">
<%= item.due_date %>
</a>
<a class="linkResults">
<%= link_to "#{item.task_title}", [@todolist, item], style: "font-weight: bold;" %><br/> <br/>
</a>
<% else %>
<form class="oneLine">
<a class="notDue">
<%= item.due_date %>
</a>
<a class="linkResults">
<%= link_to "#{item.task_title}", [@todolist, item], style: "font-weight: bold;" %>
<%= button_to "Mark Item as Done", edit_todolist_todoitem_path(@todolist, item), remote: true, id: "done_item_true" %><br/> <br/>
</a>
</form>
<% end %>
todolists/update.js.erb
alert("TEST TEST TEST");
ajax呼び出しで成功した場合のjavascriptはどこですか? '警告( "テストテストテスト")を取得するには、それを処理する必要があります。バック。 – Spidey
ああ、どうすればいいかわからない@Spidey – ETUDESC