當腳手架的資源,說Post
你得到一些代碼,看起來像下面這樣:在腳手架資源時,Ajax如何在Rails 5中工作?
應用程序/控制器/ posts_controller.rb:
# POST /posts
# POST /posts.json
def create
@post = Post.new(post_params)
respond_to do |format|
if @post.save
format.html { redirect_to posts_url, notice: 'Post was successfully created.' }
format.json { render :show, status: :created, location: @post }
else
format.html { render :new }
format.json { render json: @post.errors, status: :unprocessable_entity }
end
end
end
現在,我可以使_form.html.erb
部分的任務在索引頁:
應用程序/視圖/職位/ index.html.erb:
<%= render 'form', post: @post %>
而且,如果我進入_form.html.erb
部分我可以添加remote: true
選項:
<%= form_for post, remote: true do |f| %>
而且我能夠通過Ajax請求成功添加一個新的職位。
是交代不清的我的路線是:
format.json { render :show, status: :created, location: @post }
什麼是在這條線怎麼回事?例如,在實用工作室看Mike的this video tutorial。他創建了一個app/views/posts/create.js.erb
,它具有附加該帖子所需的javascript。軌道是否自動執行此操作?什麼是約定?