RoR的新功能,請原諒任何無知。RoR Ajax和jQuery Post Form複選框
運行於4.0.0.rc1,和我使用的設計爲LDAP驗證
我試圖做一個「任務列表」應用程序,並且在與AJAX和jQuery我的索引視圖有點麻煩調用。我試圖有一個foreach循環遍歷任務列表中的元素,每個元素都列爲一個單獨的表單。任務列表將根據當前日期自動提供。我有一個text_field元素來代替自動生成的任務列表用於開發目的。
當用戶點擊複選框時,我想爲表單提供POST SUBMIT,同時重定向回初始索引。在提交之後,還擁有登錄用戶的用戶ID以及隨POST一起提供的日期。即:
[TaskName] [UserID(Blank)] [Date(Blank)] Completed? [複選框]
- 然後在複選框的用戶點擊:
[TASKNAME] [用戶名] [日期]已完成? [複選框(已禁用)]
我目前有以下代碼,在過去的幾天裏我一直在使用這些代碼,但仍然在努力工作。
應用/視圖/周/ index.html.erb:
<table>
<thead>
<tr>
<th>Task</th>
<th>Completed by</th>
<th>Completed on</th>
<th>Completed</th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<%= form_for(Week.new, remote: true) do |f| %>
<td><%= f.text_field :task %></td>
<td><%= f.hidden_field :completed_by, :value => current_user.login %></td>
<td><%= f.hidden_field :completed_on, :value => DateTime.current().in_time_zone('EST').to_formatted_s(:short) %></td>
<td><%= f.check_box :completed, :onchange => '$(this.form).submit();' %></td>
<% end %>
</tr>
</tbody>
</table>
應用/視圖/資產/ Javascript角/ weeks.js.coffee:
$(document).ready ->
$("#new_week").on("ajax:success", (e,data,status,xhr) ->
$("#new_week").append xhr.responseText
).on "ajax:error", (e, xhr, status, error) ->
$("#new_week").append "<p>ERROR</p>"
應用程序/控制器/ weeks_controller。 rb:
class WeeksController < ApplicationController
before_action :set_week, only: [:show, :edit, :update, :destroy]
# POST /weeks
# POST /weeks.json
def create
@week = Week.new(week_params)
respond_to do |format|
if @week.save
format.html { redirect_to @week, notice: 'Week was successfully created.' }
format.json { render action: 'show', status: :created, location: @week }
else
format.html { render action: 'new' }
format.json { render json: @week.errors, status: :unprocessable_entity }
end
end
end
抱歉有任何混淆。我真正需要的是自動生成的表單列表,當用戶登錄並單擊某個特定任務的複選框時,該任務將被標記爲已完成,並且該表單將與當前用戶標識以及日期和時間一起提交完成。 這個新的rails,我可能會喜歡最簡單的解決方案,或者我可以從中學到最多的解決方案。 – user1612173