1

问题:我不确定为什么我的输入文本框的宽度是固定的(太小以至于不适合屏幕),并且我无法通过适当的方式更改大小。谁能帮我找出是什么原因造成的?

在我的部分形式中:

<%= semantic_form_for @post do |f| %>
<%= f.inputs do %>
    <%= f.input :name, :input_html => { :size => 10000 } %>
    <%= f.input :content, :input_html => {:size => 100000 } %>
<% end %>
<%= f.actions do %>
    <%= f.action :submit, :as => :button %>
    <%= f.action :cancel, :as => :link %>
<% end %>
<% end %>

在此处输入图像描述

更新:我发现

<%= f.input :name, :input_html => { :style => "width: 80%" } %>

成功更改文本区域的大小。

新问题:怎么会

<%= f.input :content, :input_html => {:size => 100000 } %>

无法工作?

再添加一个问题。 当用户登录时,我想简单地将他的名字传递给 :name 符号。所以我想在条件下将输入类型设置为隐藏,但我不确定在这种情况下formtastic语法是如何工作的......我试过了:

<%= f.input :name, :as => hidden, :name => <%= current_user.name %> %>

而且我还尝试简单地摆脱 name 变量的输入区域,并设置

<% @post.name = current_user.name %>

但是这样做的问题是,这种方式没有通过需要存在名称输入的验证检查。

这两次尝试都失败了。有没有人可以给我答案1)文本框大小问题和 2)获取输入问题?

4

1 回答 1

2

经过更多研究,我找到了解决这两个问题的方法。但是对于第一个问题,这只是一种解决方法,我仍然不确定为什么我不能编辑文本框的宽度,而只能编辑高度。

第一个问题的解决方案:

<%= f.input :content, :input_html => {:class => 'span10' } %>

第二个问题的解决方案:

<%= f.input :name, :input_html => {:value => @post.name } %>

对于第一个问题,我认为 formtastic 会根据this自动将表单的最大宽度设置为 72% ,这导致 :cols => somesize 不起作用。

于 2012-11-16T00:23:06.210 回答