2017-12-31 82 views
1

同じビューに2つのフォームがあるとすると、フォーム間に入力タグを設定する方法がわかります。 このように複数のフォーム間で入力タグを設定するにはどうすればよいですか?

= form_for @restaurant, url: {action: restaurant_path} do |r| 
     = r.fields_for :restaurant_translations do |rt| 
     dl.field 
      dt = rt.label (t :restaurantname) 
      dd = rt.text_field :restaurantname, autofocus: true, size: 120 
     dl.field 
      dt = rt.label (t :restauranttel) 
      dd = rt.text_field :restauranttel, autofocus: true, size: 120 
     dl.field 
      dt = rt.label (t :restaurantaddr) 
      dd = rt.text_field :restaurantaddr, autofocus: true, size: 120 
     dl.field 
     dt = r.label (t :url) 
     dd = r.text_field :url 
     dl.field 
     dt = r.label (t :storehours) 
     dd = r.text_field :storehours 

現在のところ、この順序は次のとおりです。

  1. restaurantname
  2. restauranttel
  3. restaurantaddr
  4. URL
  5. storehours

可能であれば、私はこのようなフォームの順序を設定したいと思います。

  1. URL
  2. restaurantname
  3. storehours
  4. restauranttel
  5. restaurantaddr

瞬間、それは別のフォームタグを混合することが非常に困難です。 どのように知っていますか?私に教えてください。

+0

あなたを助けることを願っていますあなたはスリム・ラングテンプレートエンジンを使用していますRubyのために? – Nima

答えて

0

あなたが複数fields_forフォームヘルパーを使用する必要があり、

= form_for @restaurant, url: {action: restaurant_path} do |r| 
     dl.field 
     dt = r.label (t :url) 
     dd = r.text_field :url 
     = r.fields_for :restaurant_translations, @restaurant_translation do |rt| 
     dl.field 
      dt = rt.label (t :restaurantname) 
      dd = rt.text_field :restaurantname, autofocus: true, size: 120 
     dl.field 
     dt = r.label (t :storehours) 
     dd = r.text_field :storehours 
     = r.fields_for :restaurant_translations, @restaurant_translation do |rt| 
     dl.field 
      dt = rt.label (t :restauranttel) 
      dd = rt.text_field :restauranttel, autofocus: true, size: 120 
     dl.field 
      dt = rt.label (t :restaurantaddr) 
      dd = rt.text_field :restaurantaddr, autofocus: true, size: 120  

コントローラのアクションビルド@restaurant_translationから

@restaurant_translation = @restaurant.restaurant_translations.build 

として、私はこれが

+1

ありがとう@Ganesh。しかし残念ながら、それはrestaurant_translationsに複数のレコードを作成します。だから、この問題を避ける方法を私に教えてもらえますか? –

+1

は上記の問題を回避するための答えを編集しました –

関連する問題