0

モーダルで simple-form によって生成されたフォームを取得しようとしていますが、ページの読み込み時に次のエラーが発生し続けます。

 undefined method 'model_name' for NilClass:Class

フォームを生成するために使用していた簡単なコードを次に示します。

_header.html.erb (view_pages_controller の下)

<%= simple_form_for @update do |f| %>
  <%= f.input :lang %>
  <%= f.input :book %> #temp, just for testing simpform
  <%= f.button :submit %>
<% end %>

問題はコントローラーコードにあると確信しています

updates_controller.rb

class UpdatesController < ApplicationController
before_filter :signed_in_user, only: [:create, :destroy]

  def create
    @update = current_user.updates.build(params[:update])
    if @update.save
      flash[:success] = "Update successful"
      redirect_to root_path
    else
      flash[:error] = "Failed to update, please try again"
      redirect_to root_path
    end
  end
end

update.rb

class Update < ActiveRecord::Base
  attr_accessible :book, :user_id, :lang, :round_id

  belongs_to :user
end

ヘルプ/ヒントをいただければ幸いです。私は私のコードが悪いことを知っています。

4

4 に答える 4

0

@update を宣言するコントローラーの行の上にデバッガーを配置しようとしましたか。

次に、 current_user オブジェクトと、 current_user.methods などを使用して利用可能なメソッドを確認できます

于 2012-08-27T09:06:29.477 に答える
0

routes.rbに含めresource:'updates' or resources:'updates'ましたか。これで問題が解決する場合があります。

于 2012-08-27T09:59:25.983 に答える