我关注http://railscasts.com/episodes/136-jquery-ajax-revised?view=comments 在Rails课程上完成ajax。 但我完全糊涂了。
在控制器中,它会获取两种任务。
controllers/tasks_controller.rb
4: @incomplete_tasks = Task.where(complete: false)
5: @complete_tasks = Task.where(complete: true)
并通过
在index.html.erb中呈现它views/tasks/index.html.erb
6:<div class="tasks" id="incomplete_tasks">
7: <%= render @incomplete_tasks %>
11:<div class="tasks" id="complete_tasks">
12: <%= render @complete_tasks %>
您也可以通过
附加新任务views/tasks/create.js.erb
3:$('#incomplete_tasks').append('<%= j render(@task) %>');
但是,没有_incomplete_task.html.erb和_complete_task.html.erb,那么rails如何知道要呈现的内容。
它完全迷惑了我。 请给我一些指示,谢谢〜[tasks] $ ls
_form.html.erb* create.js.erb* index.html.erb* new.js.erb*
_task.html.erb* destroy.js.erb* new.html.erb* update.js.erb*
答案 0 :(得分:0)
尝试明确使用部分:
views/tasks/index.html.erb
6:<div class="tasks" id="incomplete_tasks">
7: <%= render partial: 'task', collection: @incomplete_tasks %>
11:<div class="tasks" id="complete_tasks">
12: <%= render partial: 'task', collection: @complete_tasks %>
和
views/tasks/create.js.erb
3:$('#incomplete_tasks').append('<%= j render(partial: 'task', object: @task) %>');