3

show article view ページで link_to をたどっていますが、

<%= link_to "Add Pictures",
      new_picture_path(article_id: @article.id),
      class: "btn btn-small btn-success" %>

これは、「btn」クラスの助けを借りて「リンク」をボタンとして表示することで完全に機能します。これに関する唯一の問題は、クリック後にボタンのテキストが灰色に変わることです(訪問したリンクのように)。元のテキストの色 (この場合は白) のままにしておくにはどうすればよいですか? または、元のテキストの色を維持するには、どのような CSS マジックが必要ですか。

または、次のように button_to に変更することで修正できます。

<%= button_to "Add Pictures",
      new_picture_path(article_id: @article.id),
      method: :get, class: "btn btn-small btn-success" %>

しかし、これに関する問題は、私の article_id が nil に設定され、article_id が設定されていないという検証エラーに失敗することです。
私は何をしますか?css で link_to を修正するか (どのように?)、button_to の問題を修正します (どのように?)。どんな助けでも大歓迎です。

4

1 に答える 1

3

CSS コードに以下が含まれている場合:

a:visited {
  color: #666666;
}

link_toこれにより、 と の間で異なるレンダリングが発生する可能性があります。これは、が として解析され、が として解析されるためbutton_toです。link_to<a href=""></a>button_to<form>..</form>

注:使用する場合

<%= button_to 'Users', users_path(app_id: application.id), method: :get, class: 'btn btn-info btn-xs' %>

Rails は次のようにコンパイルされます。

<form class="button_to" method="get" action="/users?app_id=1">
   <input class="btn btn-info btn-xs" type="submit" value="Users">
</form>

ただし、ボタンをクリックした後はレールにapp_id=1渡されません。params

解決策は次のとおりです。

  1. link_toクラス属性で使用: style: "color:white"@Rahul が言うように。

  2. css コードを削除します。a:visited

于 2016-09-14T01:34:21.063 に答える