использование одной и той же формы _form для создания и обновления во вложенных ресурсах - PullRequest
0 голосов
/ 07 февраля 2012

rails:

У меня есть 'create' и 'update', использующие одну и ту же частичную '_form'

, но URL-адрес, на который должна отправляться форма, отличается

I код, сгенерированный rails, дает @xxx в качестве параметра для form_for

Я предполагаю, что rails будет судить, отправлять ли 'create' или 'update' по пустому содержимому?

Но я`м с использованием вложенного ресурса.rails, кажется, не настолько умен, чтобы справиться с этим.

Итак, каков мой лучший опыт?

поставьте 'if' в _form?

create 和 update 同时 使用 一个 局部 模板_form

ur 表单 的 的 url 样 一样

rails 自动 生成 的 直接 给 _ form_for1021 *

1025 *

26 10 的 最佳 ra ils 10

Form _form 中 写 逻辑 判断 么?

маршруты:

        book_structures GET    /books/:book_id/structures(.:format)             {:controller=>"structures", :action=>"index"}
                        POST   /books/:book_id/structures(.:format)             {:controller=>"structures", :action=>"create"}
     new_book_structure GET    /books/:book_id/structures/new(.:format)         {:controller=>"structures", :action=>"new"}
    edit_book_structure GET    /books/:book_id/structures/:id/edit(.:format)    {:controller=>"structures", :action=>"edit"}
         book_structure GET    /books/:book_id/structures/:id(.:format)         {:controller=>"structures", :action=>"show"}
                        PUT    /books/:book_id/structures/:id(.:format)         {:controller=>"structures", :action=>"update"}

_form:

<%if (form_method == :post) %>
  <%using_url = book_structures_path%>
<%elsif (form_method == :put) %>
  <%using_url = book_structure_path%>
<%end%> 
<%= form_for(@structure,:url => using_url,:method => form_method) do |f| %>

1 Ответ

1 голос
/ 07 февраля 2012

Вы можете использовать

<%= form_for([@book, @structure] ,:method => form_method) do |f| %>

для создания формы для вложенного ресурса.

...