CSSクラスを<%= f.submit%>に追加します


回答:


352
<%= f.submit 'name of button here', :class => 'submit_class_name_here' %>

これで十分です。エラーが発生する場合は、名前を指定していない可能性があります。

または、クラスなしでボタンのスタイルを設定できます。

form#form_id_here input[type=submit]

それも試してみてください。


優れた!Srdjanに感謝します。ちょっとした好奇心- disable_withこれらの送信ボタンを使ってみましたが、機能しないようです。あなたが知っている理由はありますか?+1
sscirrus

3
オプションのハッシュを試してください:{:class => 'class_name'、:disable_with => 'Editing ...'}。これはボタン名の後に続きます。それは動作するはずです、または少なくともそれとして文書化されています。
Srdjan Pejic 2011年

3
submit上記の回答のように:classハッシュを使用するには、最初の引数として文字列( 'ここにボタンの名前')を明示的に渡す必要があることに注意してください。その文字列がない場合は、エラーメッセージが表示されます。
thewillcole 2012

7
ここでデフォルト値を削除せずにクラスを追加します。stackoverflow.com
questions / 8811254 /

<%= form.submit :class => 'class_name' %>名前を使用したくない場合は機能します。

141

次のようにして、フォームの送信ボタンにクラス宣言を追加できます。

<%= f.submit class: 'btn btn-default' %> <-注:コンマはありません!

足場の_ form.html.erbパーシャルを変更していて、コントローラーアクション間でボタン名の動的な変更を維持したい場合は、名前を指定しないでください'name'

名前を指定せず、フォームがレンダリングされるアクションに応じて、ボタンは次の名前の.class = "btn btn-default"(Bootstrapクラス)(または.class指定したもの)を取得します。

  • model_nameを更新する

  • model_nameを作成します
    (model_nameは足場のモデルの名前です)


13
選択した回答より投票数が少ないにもかかわらず、これはほとんどの人が使用したいと思うソリューションです。
IAmNaN 2013年

3
これが私が探していたものです
Sandeep Garg

1
便利で、デフォルトのRailsで生成されたボタンのテキストを変更せずに、HTML属性(例では「id」または「class」)を追加できます。
TK-421 2014

1
IMOこれは、コントローラのアクションに基づいてボタンにテキストを動的に割り当てる動作(「作成」または「更新」)を維持するため、これが最良の答えです
sixty4bit

確かに@ sixty4bitが言ったように。ボタンのテキストを翻訳ファイルに設定する必要があります。これにより、フォームをさまざまなコントローラーアクション、つまり「コメントの作成」と「コメントの更新」で再利用できます。この回答を参照してください-stackoverflow.com/a/18255633/5355691
ジャービスジョンソン

26

Rails 4とBootstrap 3の「プライマリ」ボタン

<%= f.submit nil, :class => 'btn btn-primary' %>

次のようなものが得られます:

screen-2014-01-22_02.24.26.png


2
nil名前を指定するとヘルパーのデフォルトの動作が保持されるため、これが実際に最適です。たとえば、作成/表示されているオブジェクトのインスタンス変数が見つかると@person、それに応じてボタンに名前が付けられます(Update FooまたはCreate Foo)。また、form_forFormBuilder正しいアクションを選択します。このようにして、フォームコードをパーシャルに抽出し、それを使用してモデルオブジェクトを表示し(フォームを使用して表示したい場合)、それを更新し、新しいインスタンスを作成することもできます。
Paul-Sebastian Manole、2015年

13

Srdjan Pejicが言うように、あなたは使うことができます

<%= f.submit 'name', :class => 'button' %>

または次のような新しい構文:

<%= f.submit 'name', class: 'button' %>

9

form_withヘルパーを使用する場合の解決策

Rails 5.2のwith form_withヘルパーを使用する場合:コンマを追加しないでください

<%= f.submit class: 'btn btn-primary' %>

コンマなしのスクリーンショット

HTH!


2

デフォルトでは、Rails 4は 'value'属性を使用して、表示されるボタンのテキストを制御します。そのため、マークアップをきれいに保つには、

<%= f.submit :value => "Visible Button Text", :class => 'class_name' %>

0

それらの両方が機能し <%= f.submit class: "btn btn-primary" %><%= f.submit "Name of Button", class: "btn btn-primary "%>

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.