<% @page_title = "収入科目 データ登録" %> <h2><%= @page_title %></h2> <div class="toolbar"><%= link_to "収入科目データ一覧に戻る", income_values_path %></div> <%= form_for(@form, url: income_values_path, method: :post) do |fb| %> <!-- 年月テーブル --> <table> <tr> <th>登録年月</th> <th>名称</th> <th>値</th> <th>備考</th> </tr> <% cnt=0 %> <%= fb.fields_for :income_values do |f| %> <%= f.hidden_field :income_id %> <tr> <td> <%= f.date_select :year_month, start_year: 2010, end_year: Time.current.year, use_month_numbers: true, discard_day: true, default: @year_month %> </td> <th> <%= @incomes.find(@form.income_values[cnt].income_id).name %> </th> <% cnt+=1 %> <td><%= f.text_field :value, size: 8 %></td> <td><%= f.text_field :description, size: 8 %></td> </tr> <% end %> </table> <div><%= fb.submit %></div> <% end %>
ここでsubmitを踏んだら
NameError (uninitialized constant Form::IncomeValue Did you mean? Form::IncomeValues):
というエラーが発生します。
エラー文を参考にincome_value.controller.rbを確認しましたが
def create @form = Form::IncomeForm.new(income_form_params) if @form.save redirect_to :income_values, notice: "登録しました" else redirect_to :income_values, notice: "登録に失敗しました" end end def income_form_params params .require(:form_income_form) .permit(income_values_attributes: Form::IncomeValue::REGISTRABLE_ATTRIBUTES) end
どこをどう直したらいいのか見当がつきません。
解決のためのアドバイスをいただきたく、よろしくお願いします。
エラーメッセージを省略しないでください。どのfileの何行目か、がでているとおもいます。
その行がどれなのかわかるようにして、そのfileを載せてください
すいません。
```
Completed 500 Internal Server Error in 3ms (ActiveRecord: 0.0ms | Allocations: 2258)
NameError (uninitialized constant Form::IncomeValue
Did you mean? Form::IncomeValues):
app/controllers/income_values_controller.rb:37:in `income_form_params'
app/controllers/income_values_controller.rb:26:in `create'
```
このような感じでよろしいでしょうか。
26行目、37行目ってどれ?
26行目が
```
@form = Form::IncomeForm.new(income_form_params)
```
あと37行目が
```
.permit(income_values_attributes: Form::IncomeValue::REGISTRABLE_ATTRIBUTES)
```
になっております。
お手間を取らせてすいません。