ブートストラップ モーダルを使用してデータを作成しようとしています。これが私が持っているものです。
show アクションを持つ UsersController があります。表示ページには、新しい UserResult を作成するモーダルを表示するボタンがあります。UserResultsController には new メソッドと create メソッドがありますが、表示ページでモーダルを作成するため、UserResultsController からモーダルにデータを渡すことができません。
def new
@some_data = params[:some_data] # coming from users#show
@user_result = current_user.user_results.new
end
モーダルを表示するときにこのアクションが呼び出されることはないため、@some_data を渡すことができないため、UserResult モデルの有効なフォームを作成できません。users#show アクションから「Add Result」ボタンが呼び出されたときに、この new が確実に呼び出されるようにするにはどうすればよいですか?
ちなみに、結果追加ボタンは以下の通りです。
link_to 'Add Result', new_user_result_path(some_data: :some_data), class: 'btn btn-primary btn-mini', data: { toggle: 'modal', target: '#add-result-modal' }, remote: true
クイック編集: users#show アクションに @user_result を指定せずに表示ページを起動しようとすると、次のエラーが発生します。undefined method model_name for NilClass:Class