我正在构建一个包含共享简历的应用程序。我正在使用Devise gem。每个用户都可以创建only one
简历。我制作了模特和他们的关系。 Resume belongs_to User
和User has_one Resume
。
制作视图后,我想测试我的应用,但是我收到了来自_form.html.erb的错误:undefined method resumes_path' for #<#<Class:0x00...>
。
这是我的 form.rb :
<%= simple_form_for @resume, html: { multipart: true } do |f| %>
<% if @resume.errors.any? %>
<div id="errors">
<h2>
<%= pluralize(@resume.errors.count, "error") %>
prevented this resume from saving
</h2>
<ul>
<% @resume.errors.full_messages.each do |msg| %>
<li>
<%= msg %>
</li>
<% end %>
</ul>
</div>
<% end %>
<div class="form-group">
<%= f.input :title, input_html: { class: 'form-control' } %>
</div>
<div class="form-group">
<%= f.input :description, input_html: { class: 'form-control' } %>
</div>
<%= f.button :submit, class: "btn btn-primary" %>
<% end %>
为了提供有关我的代码的更多详细信息,我做了Gist。如果您需要我提供更多详细信息,请准确说明。
在这个应用程序中,我只希望用户只能创建一个Resume,然后他就可以共享它。所以表单的预期行为是创建一个包含两个元素的Resume:title
和description
,这是我第一次进行一对一建模,我不知道应该怎么做组织起来。
答案 0 :(得分:1)
在routes.rb
尝试在资源中使用复数名称:
resources :resumes, except: [:index]
http://guides.rubyonrails.org/routing.html#resource-routing-the-rails-default
答案 1 :(得分:0)
提交表单后,应用程序会将您重定向到resumes_path(默认情况下,索引 -action用于恢复)。问题是,使用except:
这是你唯一不允许在你的路线文件中的东西:
resources :resume, except: [:index]
此外,如前所述,:resume
应以复数编写。