Rails:来自不同控制器

时间:2017-04-12 16:30:32

标签: ruby-on-rails ruby

我知道这个问题之前已被问过,他们说模型独立于控制器。'因此,按照我为其他模型所做的相同代码,我只是将我的工作代码重命名为适合我的新模型。但我收到错误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

我做错了什么/在这里失踪了?

2 个答案:

答案 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选项。

Check the documentation

答案 1 :(得分:0)

尝试以下代码:

视图

 <%= form_for @userimage, url: "/uploads" do |f|%>

上传控制器

def create
  ...
end
相关问题