Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用AJAX在Rails中渲染正确的部分内容_Ruby On Rails_Ruby_Ajax_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 使用AJAX在Rails中渲染正确的部分内容

Ruby on rails 使用AJAX在Rails中渲染正确的部分内容,ruby-on-rails,ruby,ajax,ruby-on-rails-4,Ruby On Rails,Ruby,Ajax,Ruby On Rails 4,我正在尝试在我的主页/index.html.erb页面上显示我的所有帖子。我有一个表单来创建一篇新文章,但是当我点击submit时,AJAX请求很好地响应,但是响应是空白的 这是我的帖子/create.js.erb $('#all-posts').html(" <%= j (render @posts) %> "); $('#post-form').slideUp(350); posts\u controller.rb class PostsController < Appl

我正在尝试在我的主页/index.html.erb页面上显示我的所有帖子。我有一个表单来创建一篇新文章,但是当我点击submit时,AJAX请求很好地响应,但是响应是空白的

这是我的帖子/create.js.erb

$('#all-posts').html(" <%= j (render @posts) %> ");
$('#post-form').slideUp(350);
posts\u controller.rb

class PostsController < ApplicationController
    before_action :all_posts, only: [:index, :create]
    respond_to :html, :js

    def new
        @post = Post.new
    end

    def create
        @post = Post.create(post_params)
    end

    def edit
        @post = Post.find(params[:id])
    end

    def update
        @post = Post.find(params[:id])
        @post.update_attributes(post_params)
    end

    def destroy
        @post = Post.find(params[:id])
        @post.destroy
    end

    private

    def post_params
        params.require(:post).permit(:content)
    end

    def all_posts
        @posts = Post.all
    end
end
class HomeController < ApplicationController

    def index
        @posts = Post.all
    end

end
class PostsController
home_controller.rb

class PostsController < ApplicationController
    before_action :all_posts, only: [:index, :create]
    respond_to :html, :js

    def new
        @post = Post.new
    end

    def create
        @post = Post.create(post_params)
    end

    def edit
        @post = Post.find(params[:id])
    end

    def update
        @post = Post.find(params[:id])
        @post.update_attributes(post_params)
    end

    def destroy
        @post = Post.find(params[:id])
        @post.destroy
    end

    private

    def post_params
        params.require(:post).permit(:content)
    end

    def all_posts
        @posts = Post.all
    end
end
class HomeController < ApplicationController

    def index
        @posts = Post.all
    end

end
class HomeController
这是我想要显示post home/index.html.erb的地方

<div class="row">
      <div class="col-md-7 col-md-offset-1" id="all-posts">
          <%= render @posts %>
      </div>
</div>


您的日志上写了什么?我也会考虑只附加新创建的帖子,而不是获取所有的帖子并重新渲染它们,你能显示你如何调用Ajax吗?'' '' ''我尝试添加代码而不是渲染@ POST,并且它告诉我除了PAS.内容之外,所有的东西都是零。id为nil,用户id为nil,因此我想我显然没有正确创建它。修复了用户部分,但现在我有不同的问题。我需要再看看这个