Activeadmin 和 Formtastic:表单不响应:size

发布于 2024-12-26 06:16:55 字数 565 浏览 0 评论 0原文

我正在尝试格式化表单,文本字段响应某些方法,而不响应其他方法。

我可以做类似的事情:

f.input :name, :input_html => { :maxlength => 10 }
f.input :name, :input_html => { :disabled => true }

但如果我尝试执行以下任何操作,它们都不起作用:

f.input :name, :input_html => { :size => 10 }
f.input :name, :input_html => { :class => 'autogrow' }
f.input :name, :input_html => { :rows => 10, :cols => 10 }

例如,当我尝试使用 :size 时,生成的 html 显示 size=10,但未反映在实际表单中。

这些或多或少是直接从 Github 上的 Formtastic 文档中提取的,Activeadmin 文档也引用了该文档。

I am trying to format a form and the text fields respond to some methods, and not others.

I can do things like:

f.input :name, :input_html => { :maxlength => 10 }
f.input :name, :input_html => { :disabled => true }

But if I try to do any of the following, they do not work:

f.input :name, :input_html => { :size => 10 }
f.input :name, :input_html => { :class => 'autogrow' }
f.input :name, :input_html => { :rows => 10, :cols => 10 }

When I try using :size, for instance, the generated html shows that size=10, but is not reflected in the actual form.

These were more or less pulled right from the Formtastic documentation on Github, which the Activeadmin documentation refers to.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

jJeQQOZ5 2025-01-02 06:16:55

我不确定你的问题是否得到解决。

然而根据 Formastic 官方 WIKI,你的代码应该可以工作:

使用 :input_html 选项自定义任何输入的 HTML 属性。
通常这用于禁用输入、更改文本大小
字段、更改文本区域中的行,甚至添加特殊类
到输入以附加特殊行为,例如自动增长文本区域:

<%= semantic_form_for @post do |f| %>
  <%= f.inputs do %>
    <%= f.input :title,      :input_html => { :size => 10 } %>
    <%= f.input :body,       :input_html => { :class => 'autogrow', :rows => 10, :cols => 20, :maxlength => 10  } %>
    <%= f.input :created_at, :input_html => { :disabled => true } %>
    <%= f.input :updated_at, :input_html => { :readonly => true } %>
  <% end %>
  <%= f.actions %>
<% end %>

https://github.com/justinfrench/formtastic

(如果您的代码没有)工作中,请检查错误日志,或者将更多调试信息放入您的 erb 文件中,以查看您的 Rails 是否在生产模式下运行。

I am not sure if your question is solved or not.

However according to Formastic Official WIKI, your code should work:

Customize HTML attributes for any input using the :input_html option.
Typically this is used to disable the input, change the size of a text
field, change the rows in a textarea, or even to add a special class
to an input to attach special behavior like autogrow textareas:

<%= semantic_form_for @post do |f| %>
  <%= f.inputs do %>
    <%= f.input :title,      :input_html => { :size => 10 } %>
    <%= f.input :body,       :input_html => { :class => 'autogrow', :rows => 10, :cols => 20, :maxlength => 10  } %>
    <%= f.input :created_at, :input_html => { :disabled => true } %>
    <%= f.input :updated_at, :input_html => { :readonly => true } %>
  <% end %>
  <%= f.actions %>
<% end %>

https://github.com/justinfrench/formtastic

if your code doesn't work , please check out the error logs, or put more debug info to your erb file, to see if you r rails is running under production mode.

未央 2025-01-02 06:16:55

我有同样的问题。我想要一个嵌套表单,用于使用自定义文本字段大小进行编辑。这对我有用。

    form do |f|
      f.inputs "Header" do
        cf.input :name, :input_html => { :class => 'some_style', :rows => 2, :style => 'width:50%'}
      end
      f.actions
    end

所以基本上你必须创建自己的类或者只使用 :style 。

对于嵌套形式,您可以使用此代码

    form do |f|
      f.inputs "Header" do
        f.has_many :name,:allow_destroy => true,:new_record => true do |cf|
          cf.input :first_name, :input_html => { :class => 'some_style', :rows => 2, :style => 'width:50%'}
        end
      end
      f.actions
    end

i had the same problem. i wanted a nested form for edit with custom text field size.this worked for me.

    form do |f|
      f.inputs "Header" do
        cf.input :name, :input_html => { :class => 'some_style', :rows => 2, :style => 'width:50%'}
      end
      f.actions
    end

so basically u have to create your own class or just work with the :style.

For nested form u can use this code

    form do |f|
      f.inputs "Header" do
        f.has_many :name,:allow_destroy => true,:new_record => true do |cf|
          cf.input :first_name, :input_html => { :class => 'some_style', :rows => 2, :style => 'width:50%'}
        end
      end
      f.actions
    end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文