1

私はレールで simple_form を使用していますが、ラベルを別のフィールドの値にしたい状況があります。この場合、そのフィールドは変更されないため、フォームに参加したくありません。

もう少しよく説明するために、次のような2行があります

<%= f.input :name, :label => false, :disabled => true, :input_html => { :class => 'input-small' } %>
<%= f.input :status, :collection => ["Not started", "Passed", "Failed"], :include_blank => false, :label => false %>

私がやりたいのは、最初の要素を2番目の要素のラベルにすることです。インラインにすることでこれを行うことができますが、ラベルと入力が整列するように、他の要素と整列させたいと思います。

だから次のようなことをする

<%= f.input :status, :collection => ["Not started", "Passed", "Failed"], :include_blank => false, :label => f.name %>

また

<%= f.input :status, :collection => ["Not started", "Passed", "Failed"], :include_blank => false, :label => {f.input :name, :label => false, :disabled => true} %>

これを回避する方法について何か考えはありますか?

マイケル

4

2 に答える 2

1

「f.object」はそのフォームに関連付けられたオブジェクトを取得し、フィールドにアクセスできます。

<%= f.select(:status, [["Not started","Not started"], ["Passed", "Passed"], ["Failed", "Failed"]]), :label => f.object.name %>
于 2014-05-18T18:12:54.167 に答える