ruby on rails - undefined method `model_name' for NilClass:Class on view -
my code working on local server it's not working on production server. can't figure out i'm doing wrong.please me.
this i'm getting error in partial:
<%=form_for @shiftchange, :url => { :controller=>"schedulers" ,:action => "shift_change" },:validate=>true , :method => :post |f|%> <%= f.label :from_date , "from date " %> <%= f.text_field :from_date ,:class =>'datepicker' %> <% end %>
to load partial,this i'm doing this:-
<%= render "schedule_shift" %>
in controller have this:
@shiftchange = shiftchange.new
if form included multiple actions (pages) need set @shiftchange or form_for directive fail (it won't have create form for).
a better approach (and rails default) have separate views each action, each including elements required action, , loaded application.html.erb
layout <%= yield %>.
have app/views/shiftchanges/new.html.erb
view has form in it. never need define load paths in rails, derived model, controller , action
names - or routes.rb
. core part of convention on configuration
http://en.wikipedia.org/wiki/convention_over_configuration paradigm runs deep in rails.
if need have form creating new object on every page (often used shiftchangesessions example), can rewrite form_for doesn't depend on object being present:
form_for(shiftchange.new)
or if need force post create method
form_for(shiftchange.new, :url => { :action => "create" })
you can read more resource driven form_for
in ruby on rails api docs http://api.rubyonrails.org/classes/actionview/helpers/formhelper.html#method-i-form_for-label-resource-oriented+style.
Comments
Post a Comment