如何在simple_form 2.x中使用input_html指定2个属性?

时间:2014-06-10 17:16:54

标签: ruby-on-rails ruby-on-rails-3 simple-form

在rails app中,我们希望以简单的形式指定文本列的行和值。一个人很容易做到:

<%=f.input :column, :input_html => {:rows => 5}%>
<%=f.input :column, :input_html => {:value => 'abc'}%>

我们尝试了以下2个属性:

<%=f.input :column, :input_html => {:rows => 5, :value => 'abc' }%>

只有:value有效且只有一行而不是5.以下会导致语法错误:

<%=f.input :column, :input_html => {{:rows => 5}, {:value => 'abc' }}%>

在input_html中指定2个属性的正确方法是什么?或者它不可行。感谢。

更新: 以下是文本列的html源代码:

<div class="input string optional onboard_engine_config_argument_value"><label class="string optional control-label" for="onboard_engine_config_argument_value">变量值</label><input class="string optional span12" id="onboard_engine_config_argument_value" name="onboard_engine_config[argument_value]" rows="5" size="50" type="text" value=" ....."</div>

值=&#34; ...&#34;是一个非常长的文本,它是一个html.erb文件,并不按原始顺序显示。我们正试图让它以原始顺序显示。

1 个答案:

答案 0 :(得分:3)

它似乎不起作用的原因是因为simple_form生成输入而不是textarea。要强制它渲染textarea就像这样做。

<%= input :column, input_html: { rows: 4, value: "some long text"}, as: :text %>

as: :text部分强制它渲染文本区域。