我在使用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 ") %>")
答案 0 :(得分:0)
看起来如果我改变了
format.js render
到
format.js
它工作正常。
抱歉打扰