1

inflections.rb を含めました

ActiveSupport::Inflector.inflections(:en) do |inflect|
  inflect.irregular 'leaves', 'leaves'
end

そして私のコントローラーはleave_controller.rb

class LeavesController < ApplicationController
  def new
    @leave = Leave.new
  end

  def create
    @leave = Leave.create(leave_params)
    if @leave.errors.present?
      render :action => :new
    else
      redirect_to root_path, notice: I18n.t('leave_applied')
    end
  end

  private

  def leave_params
    params.require(:leave).permit(:start_date,:end_date)
  end
end

葉/new.html.erbで

<%= form_for @leave do |f| %>

  <%= f.text_field :start_date, :placeholder => 'From Date',
                   :class => 'datepicker' %>

  <%= f.text_field :end_date, :placeholder => 'To Date',
                   :class => 'datepicker' %>
  <%= f.submit%>
<% end %>

したがって、葉/新しいパスに移動すると、次のエラーが表示されます。

NameError (uninitialized constant Leaves):

ここに画像の説明を入力

これを解決する方法を教えてください。

4

1 に答える 1

2

問題は次のとおりです。新しいインフレータに従って定数leaves/newの検索をレンダリングしようとするとき。Leaves

に変更します

ActiveSupport::Inflector.inflections(:en) do |inflect|
  inflect.irregular 'leave', 'leaves'
end
于 2015-06-18T05:57:38.637 に答える