2
我有一個表單來創建一條新記錄。在Rails 3中,如果我有相同的partial _form來創建新記錄,我該如何保持乾燥?
我有這樣的偏愛,我想在不同的模型中使用視圖。
我該怎麼做?似乎部分表單的控制器也應該是可重用的。
例如,這就是我所擁有的。我從view/users/show和view/message/new中調用了這個部分,所以好像我需要在用戶控制器和消息控制器中創建一個@message和@contact實例。感覺不幹:
= semantic_form_for @message do |f|
2 #message_form
3 = f.error_messages
4 %p
5 = f.label :account
6 %br
7 = f.text_field :account
8 %p
9 = f.label :subject
10 %br
11 = f.text_field :subject
12 %p
13 = f.label :body
14 %br
15 = f.text_area :body
16 = hidden_field_tag :sender_id, params[:sender_id]
17 = hidden_field_tag :receiver_id, params[:receiver_id]
18
19 = f.submit
20 #add_contact_btn
21 = link_to "Add Contact", new_contact_path
22
23 #contact_form
24 = form_for @contact do |fc|
25 %p
26 = fc.label :first_name
27 %br
28 = fc.text_field :first_name
29 %p
30 = fc.label :last_name
31 %br
32 = fc.text_field :last_name
我可以用控制器做什麼?有共享控制器嗎? – Angela 2011-06-12 19:58:12
@Angela,更新了答案。您可以擁有一個控制器,該控制器使用您的共享視圖/表單根據需要創建/更新儘可能多的不同模型,但您需要一種方式告訴控制器表單處理的是哪種模型。也許是'POST'參數? – 2011-06-12 21:24:57
嗨,對,我想這就是我的意思。什麼決定了表格內的控制器?例如,我正在創建一個新的消息記錄。讓我更新上面...謝謝你的幫助.... – Angela 2011-06-13 02:02:34