我知道这个问题之前已被问过,他们说模型独立于控制器。'因此,按照我为其他模型所做的相同代码,我只是将我的工作代码重命名为适合我的新模型。但我收到错误undefined method 'userimages_path'
这里是我使用的代码。
模型为userimage
,控制器为uploads
。
控制器/ uploads_controller.rb
def new
@userimage = Userimage.new
end
Model / userimage.rb是一个空文件
观看/上传/ new.html.erb(此行引发错误。)
<%= form_for @userimage do |f|%>
在我的routes.rb
中resources :uploads
我有几次rake db:migrate
来确保我确实迁移了数据库,这可能是为什么它无法找到Userimage
。
我做错了什么/在这里失踪了?
答案 0 :(得分:1)
这是一个Rails魔术,当你没有为url
指定第二个选项(form_for
)时,Rails尝试设置它,在你的情况下<%= form_for @userimage do |f|%>
由Rails转换为{ {1}},在你的路线中,没有这样的<%= form_for @userimage, url: userimages_path do |f|%>
助手。
要解决此问题,请运行_path
并设置正确的bundle rake routes
选项。
答案 1 :(得分:0)
尝试以下代码:
<%= form_for @userimage, url: "/uploads" do |f|%>
def create
...
end