如何使用模型继承编写路由

时间:2013-01-28 13:37:12

标签: ruby-on-rails-3

我在app / models / post.rb中有一个模型

class Post < ActiveRecord::Base

end

我在app / models / post / note.rb中有另一个模型

class Post::Note < Post
  mount_uploader :file, FileUploader 
end

在我的控制器中:

def new
  @note = Post::Note.new 
end

我的观点表是:

<%= simple_form_for @post, :validate => true, :html => {:class => 'form-horizontal'} do |form| %>
  <%= form.input :title, :validate => {:presence => true} %>
  <%= form.button :submit %>
<% end %>

#&lt;#:0x007fe3d3fe2b08&gt;`

的错误为undefined method post_notes_path'

我想知道如何编写正确的路由配置?

1 个答案:

答案 0 :(得分:1)

您可以将网址指定为simple_form的选项,以覆盖其使用的默认路径。因此,如果您的Post::Note模型有路径助手note_path,那么这应该有效:

<%= simple_form_for @post, :url => note_path, :validate => true, :html => {:class => 'form-horizontal'} do |form| %>
  <%= form.input :title, :validate => {:presence => true} %>
  <%= form.button :submit %>
<% end %>

参考:How do you handle single table inheritance in SimpleForm so a single helper handles all models?