我是Ruby on Rails的新手,我不太清楚这个错误意味着什么:
uninitialized constant StorevaluesController
我有一个storevalue_controller.rb可以使用(我可以访问页面上的内容)但是当我尝试提交这样的表单时:
new.html.erb
<h1>Fill out form to add to db</h1>
<%= form_for :storevalue, url: storevalue_path do |f| %>
<p>
<%= f.label :title %><br>
<%= f.text_field :title %>
</p>
<p>
<%= f.label :text %><br>
<%= f.text_area :text %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
rails抛出我上面引用的错误。
storevalue_controller.rb
class StorevalueController < ApplicationController
def new
end
def create
@storevalue = Storevalue.new(storevalue_params)
@storevalue.save
redirect_to @storevalue
end
def show
@storevalue = Storevalue.find(params[:id])
end
private
def storevalue_params
params.require(:storevalue).permit(:title, :text)
end
end
我的路线追踪:
welcome_index_path GET /welcome/index(.:format) welcome#index
root_path GET / welcome#index
storevalue_new_path GET /storevalue/new(.:format) storevalue#new
storevalue_path POST /storevalue(.:format) storevalues#create
new_storevalue_path GET /storevalue/new(.:format) storevalues#new
edit_storevalue_path GET /storevalue/edit(.:format) storevalues#edit
GET /storevalue(.:format) storevalues#show
PATCH /storevalue(.:format) storevalues#update
PUT /storevalue(.:format) storevalues#update
DELETE /storevalue(.:format) storevalues#destroy
答案 0 :(得分:3)
请注意,错误是多个“值”,而实际的控制器名称则不是。当它不存在时,你在某处使用复数名称。在Ruby中,类名是常量。因此,您有错误信息措辞,我同意这在表面上非常误导。