错误的参数数量(2表示1),Ajax在rails中呈现

时间:2014-07-08 16:54:32

标签: javascript ruby-on-rails ajax ruby-on-rails-4

我在使用AJAX方面真的很陌生。我尝试制作一些状态更新类型的东西,类似于facebook或twitter。您发布状态并将其添加到您下方的列表中,并清除编辑框。

该帖子正好被添加到数据库中。问题是没有重新绘制最近状态消息的列表。我收到错误,ArgumentError(错误的参数数量(2表示1))。

我试过用几种方法重写js.erb,它总是有错误。一些帮助将不胜感激。

控制器发布#create

def create
    @post = Post.new(post_params)
    @post.user_id = current_user.id


    respond_to do |format|
      if @post.save
        @posts = Post.all
        format.html { redirect_to @post, notice: 'Post was successfully created.' }
        format.js render  #@posts } # { render :show, status: :created, location: @post }
      else
        format.html { render :new }
        format.json { render json: @post.errors, status: :unprocessable_entity }
      end
    end
  end

部分 _inline.html.erb / posts / inline

<div class="large-12 columns" id="inline_posts">
<% @posts.each do |post| %>
  <div class="row">
    <div class="large-10 columns left"><%= post.content %></div>
    <div class="large-2 columns right"><%= link_to 'Remove', post, method: :delete, data: { confirm: 'Are you sure?' }, class: 'tiny button' %></div>
  </div>
<% end %>
</div>

Javascript create.js.erb

$("#inline_posts").html("<%= escape_javascript("render partial: 'posts/inline', posts: @posts ") %>")

1 个答案:

答案 0 :(得分:0)

看起来如果我改变了

format.js render

format.js 

它工作正常。

抱歉打扰