Javascript Can';t在ajax+中获取注释;轨道
希望在Rails中使用ajax添加注释功能。自动发布后,我无法获取评论。它不起作用了 错误:Javascript Can';t在ajax+中获取注释;轨道,javascript,ruby-on-rails,ruby,ajax,Javascript,Ruby On Rails,Ruby,Ajax,希望在Rails中使用ajax添加注释功能。自动发布后,我无法获取评论。它不起作用了 错误: ActionView::Template::Error (undefined method `each' for nil:NilClass): 控制器/posts_controller.rb class PostsController
ActionView::Template::Error (undefined method `each' for nil:NilClass):
控制器/posts_controller.rb
class PostsController
控制器/home_controller.rb
class HomeController
views/home/index.html.erb
views/posts/index.js.erb
$(“#postrea”).html(“”)
$(“文本区域”).val(“”)
views/posts/_index.html.erb
views/posts/_form.html.erb
内容
我已经修好了
控制器/posts_controller.rb
views/posts/_index.html.erb
class PostsController < ApplicationController
def create
@post = Post.new(create_params)
if @post.save
render :index
end
end
private
def create_params
params.require(:post).permit(:content)
end
end
class HomeController < ApplicationController
def index
@post = Post.new
@posts = Post.all
end
end
<div id="postForm">
<%= render partial: 'posts/form', locals: { post: @post } %>
</div>
<div class="postContainer" id="postArea">
<ul>
<%= render partial: 'posts/index', locals: { posts: @posts } %>
</ul>
</div>
$("#postArea").html("<%= j(render 'index', { posts: @posts }) %>")
$("textarea").val('')
<ul>
<% posts.each do |post| %>
<li><%= post.content %></li>
<% end %>
</ul>
<%= form_with(model: post, url: posts_path) do |f| %>
<form>
<div class="form-group">
<label for="contents">Content</label>
<%= f.text_area :content, class: "form-control", rows: "2" %>
</div>
<div>
<%= f.submit "Submit", type: "submit", class: "btn btn-primary" %>
</div>
<% end %>
def create
@post = Post.new(create_params)
if @post.save
render :index
end
end
<ul>
<% @posts.each do |post| %>
<li><%= post.content %></li>
<% end %>
</ul>