Rails 3上缺少ActionView :: Template :: Error

时间:2013-08-31 15:41:13

标签: ruby-on-rails ruby-on-rails-3.1 renderpartial

我关注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*

1 个答案:

答案 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) %>');