2015-06-18 5 views
0

Я включил inflections.rbОблицовочные проблемы с перегибами в рельсах?

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

и мой контроллер leaves_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): 

enter image description here

Просьба указать, как это решить.

+0

Где ваш файл inflections.rb в приложении? – rick

+0

Пожалуйста, вставьте код для шаблона 'листья/новый' –

+0

внутри config/initializers/inflections.rb – railslearner

ответ

1

Проблема: при попытке визуализации leaves/new его поиск Leaves постоянный в соответствии с вашим новым инфлектором.

Изменить его

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

Спасибо, что он работает :) – railslearner

+0

Но на самом деле, он также будет работать, если вы удалите это 'inflection', так как это нормальный случай. Вам нужно только добавить перегибы для нерегулярных множественных чисел, которые вообще не преобразуются. –