ruby on rails - ActionView::MissingTemplate for create action -
when submit form receive error: missing template letsgos/create, application/create {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :raw, :ruby]}
.
what not understanding why it's looking /create when view create from _form.html.erb
. shouldn't need make /create file. missing here?
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) |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' %>
inside letsgoes_controller.rb
have following create method:
def create @letsgo = current_user.letsgos.build(letsgo_params) if @letsgo.save flash[:success] = "date posted!" redirect_to root_url end end
according method, if @letsgo.save return false (because of validation or else), code not executed, meaning rails try render view file same name controller action - create
in case. need account false case of if
. work:
def create @letsgo = current_user.letsgos.build(letsgo_params) if @letsgo.save flash[:success] = "date posted!" redirect_to root_url else flash[:error] = "date not posted!" redirect_to root_url end end
Comments
Post a Comment