當我提交我的表單時,我收到一個錯誤:缺少模板letsgos /創建,應用程序/創建{:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :raw, :ruby]}
。ActionView :: MissingTemplate創建動作
我不理解的是爲什麼當創建視圖爲from _form.html.erb
時它正在尋找/創建。我不需要創建/創建文件。我在這裏錯過了什麼嗎?
letsgos_controller.rb:
before_action :signed_in_user, only: [:create, :destroy]
def create
@letsgo = current_user.letsgos.build(letsgo_params)
if @letsgo.save
flash[:success] = "Date posted!"
redirect_to root_url
end
def destroy
@letsgo.destroy
redirect_to root_url
end
users_controller:
def show
@user = User.find(params[:id])
@letsgos = @user.letsgos.paginate(page: params[:page])
@letsgo = current_user.letsgos.build if signed_in?'
end
letsgo.rb:
belongs_to :user
default_scope -> { order('created_at DESC') }
validates :content, presence: true, length: { maximum: 360 }
validates :tag, presence: true
validates :user_id, presence: true
end
/users/show.html.erb:
<% if @user.letsgos.any? %>
Dates (<%= @user.letsgos.count %>)
<%= render @letsgos %>
<%= will_paginate @letsgos %>
<% end %>
/letsgos/_form.html.erb
<%= form_for(@letsgo) do |f| %>
<div class="field">
<%= f.text_area :content, placeholder: "Propose new date..." %>
</div>
<%= f.submit "Post", class: "btn btn-large btn-primary" %>
<% end %>
/letsgos/home.html.erb:
<% if signed_in %>
<% render 'letsgos/form' %>
我不知道,如果它在你的實際代碼,但如圖所示,你有你的letsgos_controller.rb語法問題(例如缺少'end'上'高清create' )。 –
我有2'結束'def創建。 1根據def摧毀。而在私人def下letgo_params 2。這很好。 –
然後你應該在問題中更新你的代碼清單,因爲它只爲'def create'顯示1'end'(並且在你處理時修正縮進)。 –