如何在表单中指定控制器和操作以创建新资源

时间:2012-10-30 09:03:06

标签: ruby-on-rails ruby-on-rails-3 simple-form

我有QuestionsController和TrueFalseQuestionsController。我构建了一个表单来创建问题真/假,这是我的形式:

<%= simple_form_for @question, defaults: { error: false } do |question_form| %>
  <fieldset>
    <legend>Question</legend>
    <%= render 'shared/error_messages', object: question_form.object %>
    <%= question_form.input :content, input_html: { rows: 3, class: 'span6' } %>
    <%= question_form.input :mark, input_html: { class: 'span1' } %>
    <%= question_form.association :topic %>

    <%= question_form.simple_fields_for :answers do |answer_form| %>    
      <%= answer_form.input :correct,
            collection: [[true, 'True'], [false, 'False']],
            as: :radio_buttons,
            label: 'Answer',
            value_method: :first,
            label_method: :last,
            item_wrapper_class: 'inline' %>
    <% end %>
  </fieldset>

    <%= question_form.button :submit, class: 'new_resource' %>
<% end %>

现在当我提交表单时,它在QuestionsController中使用create action,那么如何指定表单以在TrueFalseQuestionsController中使用create action?

1 个答案:

答案 0 :(得分:0)

你再次:),正如我在上一个问题中告诉你的那样,如果你准备好这三种问题的三个部分,那就在每个部分中做不同的事情。我假设你在routes.rb

中设置了嵌套路由

例如,您可以使用真正的错误问题表单

form_for @question, :url=>true_false_questions_path do |f| 

其他人也这样做。