2015-06-18 37 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

請將'leaves/new'模板代碼粘貼 –

+0

config/initializers/inflections.rb – railslearner

回答

1

問題是:當它試圖渲染leaves/new根據您的新變形搜索Leaves常量。

將其更改爲

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

Thankyou man它工作:) – railslearner

+0

但實際上,它也會工作,如果你刪除這個因爲這是正常情況,所以'拐點'。你只需要添加不規則複數的變化,一般不會被轉換。 –