Innerhalb meiner Anwendung versuche ich eine verschachtelte Ressource zu erstellen (ein Schritt für ein bestimmtes Ziel) und ich habe Probleme mit der Erstellung an der URL "/ goals/1/steps/new". Wenn ich zu dieser Seite navigiere, erhalte ich den Fehler "Erstes Argument im Formular kann kein Nil enthalten oder leer sein""Das erste Argument in der Form kann nicht nil enthalten oder leer sein" beim Erstellen einer verschachtelten Ressource in ruby on rails
Ich kann wirklich nicht herausfinden, warum ich nicht in der Lage bin, einen Schritt zu erstellen, den er bei der Erstellung zugewiesen bekommt speziell dafür wurde geschaffen. Jede Hilfe wird sehr geschätzt.
Hier sind meine Schritte Controller und meine Schritte bilden
Steps Controller:
class StepsController < ApplicationController
#before_action :set_step, only: [:show, :edit, :update, :destroy]
before_filter :authorize
# GET /steps
# GET /steps.json
def index
@steps = Goal.find(params[:goal_id]).steps.all
end
# GET /goals/1/steps/new
def new
@step = Goal.find(params[:goal_id]).steps.new
end
# GET /steps/1
# GET /steps/1.json
def show
end
# GET /steps/1/edit
def edit
end
def create
@step = Goal.find(params[:goal_id]).steps.new(step_params)
respond_to do |format|
if @step.save
format.html { redirect_to @step, notice: 'Step was successfully created.' }
format.json { render :show, status: :created, location: @step }
else
format.html { render :new }
format.json { render json: @step.errors, status: :unprocessable_entity }
end
end
redirect_to(goal_steps_url(@goal))
end
def update
@step.update(step_params)
respond_to do |format|
if @step.update(step_params)
format.html { redirect_to @step, notice: 'Step was successfully updated.' }
format.json { render :show, status: :ok, location: @step }
else
format.html { render :edit }
format.json { render json: @step.errors, status: :unprocessable_entity }
end
end
end
# POST /steps
# POST /steps.json
def destroy
@step.destroy
respond_to do |format|
format.html { redirect_to steps_url, notice: 'Step was successfully destroyed.' }
format.json { head :no_content }
end
end
private
def set_step
@step = Goal.find(params[:goal_id]).Step.find(params[:id])
end
def step_params
params.require(:step).permit(:requirement, :completionTime, :goal_id)
end
end
Steps Form:
<%= form_for(@steps) do |f| %>
<% if @step.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@step.errors.count, "error") %> prohibited this step from being saved:</h2>
<ul>
<% @step.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :requirement %><br>
<%= f.text_field :requirement %>
</div>
<div class="field">
<%= f.label :completionTime %><br>
<%= f.number_field :completionTime %>
</div>
<div class="field">
<%= hidden_field_tag :goal_id, goal.id %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
Routen-Datei:
Rails.application.routes.draw do
resources :goals do
resources :steps
end
resources :signups
get 'welcome/index'
resources :calendar
resources :todolist
resources :to_dos
root 'welcome#index'
# These routes will be for signup. The first renders a form in the browse, the second will
# receive the form and create a user in our database using the data given to us by the user.
get '/login' => 'sessions#new'
post '/login' => 'sessions#create'
get '/logout' => 'sessions#destroy'
get '/signup' => 'users#new'
post '/users' => 'users#create'
end
Stack-Trace:
actionview (4.2.5.1) lib/action_view/helpers/form_helper.rb:432:in `form_for'
app/views/steps/_form.html.erb:1:in `_app_views_steps__form_html_erb__4323915558924223187_70260809990920'
actionview (4.2.5.1) lib/action_view/template.rb:145:in `block in render'
activesupport (4.2.5.1) lib/active_support/notifications.rb:166:in `instrument'
actionview (4.2.5.1) lib/action_view/template.rb:333:in `instrument'
actionview (4.2.5.1) lib/action_view/template.rb:143:in `render'
actionview (4.2.5.1) lib/action_view/renderer/partial_renderer.rb:339:in `render_partial'
actionview (4.2.5.1) lib/action_view/renderer/partial_renderer.rb:310:in `block in render'
actionview (4.2.5.1) lib/action_view/renderer/abstract_renderer.rb:39:in `block in instrument'
activesupport (4.2.5.1) lib/active_support/notifications.rb:164:in `block in instrument'
activesupport (4.2.5.1) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (4.2.5.1) lib/active_support/notifications.rb:164:in `instrument'
actionview (4.2.5.1) lib/action_view/renderer/abstract_renderer.rb:39:in `instrument'
actionview (4.2.5.1) lib/action_view/renderer/partial_renderer.rb:309:in `render'
actionview (4.2.5.1) lib/action_view/renderer/renderer.rb:47:in `render_partial'
actionview (4.2.5.1) lib/action_view/helpers/rendering_helper.rb:35:in `render'
app/views/steps/new.html.erb:3:in `_app_views_steps_new_html_erb__538834525682328601_70260798181140'
actionview (4.2.5.1) lib/action_view/template.rb:145:in `block in render'
activesupport (4.2.5.1) lib/active_support/notifications.rb:166:in `instrument'
actionview (4.2.5.1) lib/action_view/template.rb:333:in `instrument'
actionview (4.2.5.1) lib/action_view/template.rb:143:in `render'
actionview (4.2.5.1) lib/action_view/renderer/template_renderer.rb:54:in `block (2 levels) in render_template'
actionview (4.2.5.1) lib/action_view/renderer/abstract_renderer.rb:39:in `block in instrument'
activesupport (4.2.5.1) lib/active_support/notifications.rb:164:in `block in instrument'
activesupport (4.2.5.1) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (4.2.5.1) lib/active_support/notifications.rb:164:in `instrument'
actionview (4.2.5.1) lib/action_view/renderer/abstract_renderer.rb:39:in `instrument'
actionview (4.2.5.1) lib/action_view/renderer/template_renderer.rb:53:in `block in render_template'
actionview (4.2.5.1) lib/action_view/renderer/template_renderer.rb:61:in `render_with_layout'
actionview (4.2.5.1) lib/action_view/renderer/template_renderer.rb:52:in `render_template'
actionview (4.2.5.1) lib/action_view/renderer/template_renderer.rb:14:in `render'
actionview (4.2.5.1) lib/action_view/renderer/renderer.rb:42:in `render_template'
actionview (4.2.5.1) lib/action_view/renderer/renderer.rb:23:in `render'
actionview (4.2.5.1) lib/action_view/rendering.rb:100:in `_render_template'
actionpack (4.2.5.1) lib/action_controller/metal/streaming.rb:217:in `_render_template'
actionview (4.2.5.1) lib/action_view/rendering.rb:83:in `render_to_body'
actionpack (4.2.5.1) lib/action_controller/metal/rendering.rb:32:in `render_to_body'
actionpack (4.2.5.1) lib/action_controller/metal/renderers.rb:37:in `render_to_body'
actionpack (4.2.5.1) lib/abstract_controller/rendering.rb:25:in `render'
actionpack (4.2.5.1) lib/action_controller/metal/rendering.rb:16:in `render'
actionpack (4.2.5.1) lib/action_controller/metal/instrumentation.rb:44:in `block (2 levels) in render'
activesupport (4.2.5.1) lib/active_support/core_ext/benchmark.rb:12:in `block in ms'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/benchmark.rb:296:in `realtime'
activesupport (4.2.5.1) lib/active_support/core_ext/benchmark.rb:12:in `ms'
actionpack (4.2.5.1) lib/action_controller/metal/instrumentation.rb:44:in `block in render'
actionpack (4.2.5.1) lib/action_controller/metal/instrumentation.rb:87:in `cleanup_view_runtime'
activerecord (4.2.5.1) lib/active_record/railties/controller_runtime.rb:25:in `cleanup_view_runtime'
actionpack (4.2.5.1) lib/action_controller/metal/instrumentation.rb:43:in `render'
actionpack (4.2.5.1) lib/action_controller/metal/implicit_render.rb:10:in `default_render'
actionpack (4.2.5.1) lib/action_controller/metal/implicit_render.rb:5:in `send_action'
actionpack (4.2.5.1) lib/abstract_controller/base.rb:198:in `process_action'
actionpack (4.2.5.1) lib/action_controller/metal/rendering.rb:10:in `process_action'
actionpack (4.2.5.1) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
activesupport (4.2.5.1) lib/active_support/callbacks.rb:117:in `call'
activesupport (4.2.5.1) lib/active_support/callbacks.rb:117:in `call'
activesupport (4.2.5.1) lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'
activesupport (4.2.5.1) lib/active_support/callbacks.rb:505:in `call'
activesupport (4.2.5.1) lib/active_support/callbacks.rb:505:in `call'
activesupport (4.2.5.1) lib/active_support/callbacks.rb:92:in `__run_callbacks__'
activesupport (4.2.5.1) lib/active_support/callbacks.rb:778:in `_run_process_action_callbacks'
activesupport (4.2.5.1) lib/active_support/callbacks.rb:81:in `run_callbacks'
actionpack (4.2.5.1) lib/abstract_controller/callbacks.rb:19:in `process_action'
actionpack (4.2.5.1) lib/action_controller/metal/rescue.rb:29:in `process_action'
actionpack (4.2.5.1) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
activesupport (4.2.5.1) lib/active_support/notifications.rb:164:in `block in instrument'
activesupport (4.2.5.1) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (4.2.5.1) lib/active_support/notifications.rb:164:in `instrument'
actionpack (4.2.5.1) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
actionpack (4.2.5.1) lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
activerecord (4.2.5.1) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
actionpack (4.2.5.1) lib/abstract_controller/base.rb:137:in `process'
actionview (4.2.5.1) lib/action_view/rendering.rb:30:in `process'
actionpack (4.2.5.1) lib/action_controller/metal.rb:196:in `dispatch'
actionpack (4.2.5.1) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
actionpack (4.2.5.1) lib/action_controller/metal.rb:237:in `block in action'
actionpack (4.2.5.1) lib/action_dispatch/routing/route_set.rb:74:in `call'
actionpack (4.2.5.1) lib/action_dispatch/routing/route_set.rb:74:in `dispatch'
actionpack (4.2.5.1) lib/action_dispatch/routing/route_set.rb:43:in `serve'
actionpack (4.2.5.1) lib/action_dispatch/journey/router.rb:43:in `block in serve'
actionpack (4.2.5.1) lib/action_dispatch/journey/router.rb:30:in `each'
actionpack (4.2.5.1) lib/action_dispatch/journey/router.rb:30:in `serve'
actionpack (4.2.5.1) lib/action_dispatch/routing/route_set.rb:815:in `call'
rack (1.6.4) lib/rack/etag.rb:24:in `call'
rack (1.6.4) lib/rack/conditionalget.rb:25:in `call'
rack (1.6.4) lib/rack/head.rb:13:in `call'
actionpack (4.2.5.1) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
actionpack (4.2.5.1) lib/action_dispatch/middleware/flash.rb:260:in `call'
rack (1.6.4) lib/rack/session/abstract/id.rb:225:in `context'
rack (1.6.4) lib/rack/session/abstract/id.rb:220:in `call'
actionpack (4.2.5.1) lib/action_dispatch/middleware/cookies.rb:560:in `call'
activerecord (4.2.5.1) lib/active_record/query_cache.rb:36:in `call'
activerecord (4.2.5.1) lib/active_record/connection_adapters/abstract/connection_pool.rb:653:in `call'
activerecord (4.2.5.1) lib/active_record/migration.rb:377:in `call'
actionpack (4.2.5.1) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport (4.2.5.1) lib/active_support/callbacks.rb:88:in `__run_callbacks__'
activesupport (4.2.5.1) lib/active_support/callbacks.rb:778:in `_run_call_callbacks'
activesupport (4.2.5.1) lib/active_support/callbacks.rb:81:in `run_callbacks'
actionpack (4.2.5.1) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
actionpack (4.2.5.1) lib/action_dispatch/middleware/reloader.rb:73:in `call'
actionpack (4.2.5.1) lib/action_dispatch/middleware/remote_ip.rb:78:in `call'
actionpack (4.2.5.1) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
web-console (2.3.0) lib/web_console/middleware.rb:28:in `block in call'
web-console (2.3.0) lib/web_console/middleware.rb:18:in `catch'
web-console (2.3.0) lib/web_console/middleware.rb:18:in `call'
actionpack (4.2.5.1) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
railties (4.2.5.1) lib/rails/rack/logger.rb:38:in `call_app'
railties (4.2.5.1) lib/rails/rack/logger.rb:20:in `block in call'
activesupport (4.2.5.1) lib/active_support/tagged_logging.rb:68:in `block in tagged'
activesupport (4.2.5.1) lib/active_support/tagged_logging.rb:26:in `tagged'
activesupport (4.2.5.1) lib/active_support/tagged_logging.rb:68:in `tagged'
railties (4.2.5.1) lib/rails/rack/logger.rb:20:in `call'
actionpack (4.2.5.1) lib/action_dispatch/middleware/request_id.rb:21:in `call'
rack (1.6.4) lib/rack/methodoverride.rb:22:in `call'
rack (1.6.4) lib/rack/runtime.rb:18:in `call'
activesupport (4.2.5.1) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'
rack (1.6.4) lib/rack/lock.rb:17:in `call'
actionpack (4.2.5.1) lib/action_dispatch/middleware/static.rb:116:in `call'
rack (1.6.4) lib/rack/sendfile.rb:113:in `call'
railties (4.2.5.1) lib/rails/engine.rb:518:in `call'
railties (4.2.5.1) lib/rails/application.rb:165:in `call'
rack (1.6.4) lib/rack/lock.rb:17:in `call'
rack (1.6.4) lib/rack/content_length.rb:15:in `call'
rack (1.6.4) lib/rack/handler/webrick.rb:88:in `service'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/webrick/httpserver.rb:138:in `service'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/webrick/httpserver.rb:94:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread'
fügen Sie die Routen und Stack-Trace erhalten würde. –
@ShamsulHaque hinzugefügt diese in einer Bearbeitung. – Frenchy
'<% = form_for (@steps) do | f | %> 'das ist, wo Sie den Fehler bekommen von .. versuchen Sie mit' @ step' – sa77