【问题标题】:How to set input tag between multiple form?如何在多个表单之间设置输入标签?
【发布时间】:2017-12-31 07:45:59
【问题描述】:

假设同一个视图中有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. 餐厅名称
  2. 餐厅
  3. 餐厅地址
  4. 网址
  5. 营业时间

如果可能的话,我想这样设置表单顺序。

  1. 网址
  2. 餐厅名称
  3. 营业时间
  4. 餐厅
  5. 餐厅地址

目前,混合不同的表单标签太难了。 有谁知道怎么做?请告诉我。

【问题讨论】:

    标签: ruby-on-rails slim-lang


    【解决方案1】:

    你需要使用多个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
    

    希望对你有帮助

    【讨论】:

    • 谢谢@Ganesh。但不幸的是,这会在 restaurant_translations 上创建多个记录。那你能告诉我如何避免这个问题吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多