Rails 4 - form with namespace model name spliting route name -
i have rails 4 app admin namespace , model called gametime
namespace :admin resources :gametimes end the model game_time.rb
class gametime < activerecord::base end the index , show action work fine. having problem new action.
gametimes_controller.rb
def new @gametime = gametime.new end new.html.erb
<% form_for [:admin, @gametime ] |f| %> <% end %> i error
nomethoderror @ /admin/gametimes/new undefined method `admin_game_times_path' #<#<class:0xae0d74c>:0xae0c2c0 request parameters {"action"=>"new", "controller"=>"admin/gametimes"} the routes show this
new_admin_gametime /admin/gametimes/new(.:format) admin/gametimes#new i don't see why putting path "game_time" rather "gametime" ?
your model named gametime capital "g" , "t". form_for assume route game_time.
if want default route gametime, model should named gametime - ie "g" being capitalized.
internally form_for uses activemodel::name#param_key figure out part of url, illustrates behaviour you're seeing:
gametime.model_name.param_key # => "game_time" gametime.model_name.param_key # => "gametime" note how file model named game_time.rb, there consistency there.
Comments
Post a Comment