1

そのため、このコードで指定されたフォームをインデントしようとしています。

<%= form_for([micropost, micropost.comments.build]) do |f| %>

    <div class="field">
      <p2>Who are you?</p2>
      <%= f.text_field :commenter %>
    </div>
    <div class="field">
      <p2>What deal are you offering?</p2>
      <%= f.text_area :body %>
    </div>
    <div class="actions">
      <%= f.submit "Submit"%>
    </div>

今私のcssファイルにはこれがあります

/* forms */

input, textarea, select, .uneditable-input {
  border: 1px solid #bbb;
  width: 100%;
  padding: 10px;
  height: auto;
  margin-bottom: 15px;

そして、margin-left: 80px; のようなものを追加するだけです。しかし、これはすべての入力フォームをインデントします。css ファイルと対話できるように、このフォームに別の名前を付けるにはどうすればよいでしょうか? それとももっと良い方法がありますか?

4

2 に答える 2

1

Google Chrome を使用している場合は、stylebot を使用して CSS の変更をリアルタイムでテストすることを強くお勧めします。とても役に立ちました。https://chrome.google.com/webstore/detail/oiaejidbmkiecgbjeifoejpgmdaleoha

また、変更したいフォームまたはフォーム要素に一意の ID を追加する必要があります。

フォーム全体に

<%= form_for([micropost, micropost.comments.build], :html => { :id => "blah_form" }) do |f| %>

1 つのフィールドのみ

<%= f.text_area :body, :id => 'blah_field' %>

form_for の詳細については、次を参照してください。

http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html

于 2012-06-16T04:28:23.387 に答える
1

これを試して:

<%= form_for([micropost, micropost.comments.build], :html => {:id => "some_id" }) do |f| %>

これにより、フォームに一意の ID が追加されるため、CSS で必要に応じてインデントでき、他は変更しません。

つまり、それを変更するだけで、CSS でその ID に対して何かを定義できます。

于 2012-06-16T04:29:36.617 に答える