2

我有一个 Mongoid 文档:

class Index
  include Mongoid::Document

end

“索引”的两个子类为:

class PercentileRankIndex < Index

end 

class SocialStockIndex < Index


end

我想创建一个 form_for 说“PercentileRankIndex”,这是我现有的代码签名:

<%= form_for ([@index, @question]) do |f| %>

去路线: 'percentile_rank_index_questions_path'因为@index是PercentileRankIndex的实例。

但是,存在的正确路线是:'index_questions'

当使用适当的 _type 属性创建 Index 实例时,我的 form_for 签名应该如何?

4

1 回答 1

0

我使用 form_tag 来解决这种情况:

<%= form_tag index_questions_path(:index_id => @index.id) do  %>

  <%= label_tag :name, "Name:" %>
  <%= text_field_tag :name %>

  <%= label_tag :weight, "Weight" %>
  <%= text_field_tag :weight %>

  <div class="actions">
    <%= submit_tag "Save", :method => :post, :class => "btn btn-primary" %>
    <%= link_to 'Back',  index_questions_path, :class => "btn btn-primary" %>
  </div>
<% end %>

这可能不是最干净的方法,但仍然有效。也希望看到有人提出更好的想法。

于 2013-04-15T17:41:27.707 回答