3
%p
  %br
  %span.footer_links
    = link_to 'Edit', edit_link_path(@link)
    = link_to 'Edit', edit_link_path(@link)
    = button_to 'Delete', @link, :confirm => 'Are you sure?', :method => :delete
    = button_to 'Delete', @link, :confirm => 'Are you sure?', :method => :delete
    pppppp

同じ行に「編集」リンクを生成しますが、異なる行にボタンを削除します。

      edit  edit
      delete
      delete

(改行を強調するためにそれぞれ2つ)

次のように、上記のすべてを1行で取得するにはどうすればよいですか。

edit edit [delete] [delete]

私は自分link_to, :method => :deleteをに変更する必要があるため、これを行っています:button_to's

更新: css:class => '.btn'のbutton_toに追加しましたが、役に立ち.btn { display: inline; }ませんでした。

<p>
<br/>
<span class="footer_links">
<a href="/links/354/edit">Edit</a>
 | 
</span>
</p>
<form method="post" action="/links/354" class="button_to">
<div>
<input name="_method" type="hidden" value="delete"/>
<input class=".btn" data-confirm="Are you sure?" type="submit" value="Delete"/>
<input name="authenticity_token" type="hidden" value="MvN6K03y5WcqSZRt4Au3zj+xsKhfZ9EEtkf2M7YCGhk="/>
</div>
</form>
<p/>
4

1 に答える 1

2

奇妙なことに、によって生成されたものとによって生成されたものの両方がaインライン要素である必要があるためです。link_toinputbutton_to

ただし、これはまさにCSSの目的です。つまり、デザインの詳細をHTMLから除外します。したがって、CSSは次のようになります。

.footer_links a, .footer_links input {
  display: inline;
  padding-right: 1em;
}

[便利な編集-これもBuckから-:form_classを使用して、フォームとその中のdivをインラインとしてスタイル設定できます。]

于 2012-06-01T00:25:39.363 に答える