わかりましたので、シンプルなAPIとWebインターフェースを開発しながら、RoRを独習しています。私はいくつかのガイドに従い、さまざまな結果をテストしてきました。いくつかのHTMLテンプレートのモックアップを作成し、それらをビューに分解し始めているプロセスにいます。
私のHTMLには、CSSスタイルのボタンである次のコードがあります。
<input type="submit" name="" value="Add" id="open-contacts-dialog-btn" class="inbox-sf-add-btn tip" title="Open an dialog to add a new contact"/>
これは、パネルにある/ book/new /にリンクしたいボタンです。ここにはlink_toが必要ですが、最終的なコードはどうでしょうか?私が試したコードは次のとおりです
<%= link_to "Add", new_admin_course_path, :id=>"open-contacts-dialog-btn", :class=>"inbox-sf-add-btn tip" %>
しかし、それは私のCSSスタイルを追加するのではなく、単に「追加」というテキストを生成するだけです。どんな助けも役に立ちます。ありがとう
link_to
は、<a>
ではないinput type="submit"
タグを生成します。使用する必要があるのは、リンクへのbutton_to
ボタンを持つフォームを生成するinput type="submit"
でなければなりません。
<%= button_to "Add", new_admin_course_path, :id => "open-contacts-dialog-btn",
:class => "inbox-sf-add-btn tip", :method => :get %>
:method => :get
に注意してください。それなしでは、button_to
はpostに設定されたメソッドでフォームを生成します。
私のフォームはlink_toの動作がbutton_toの動作と異なるため、リンクが提供する機能が必要だったため、最近これを行う必要がありました。私が見つけた最良の解決策は、CSSをまったく使用せず、代わりに.html_safeを呼び出してRubyコードでhtmlをエスケープし、リンクをボタンとして適切に表示します。
<%= link_to "<button>Add</button>".html_safe, new_admin_course_path, :id=>"open-contacts-dialog-btn", :class=>"inbox-sf-add-btn tip" %>
ただし、CSSスタイリングは追加されません
どういう意味ですか?クラスinbox-sf-add-btn
とa
を持つリンク(tip
要素)が生成されますよね?だから問題は何ですか?
厳密にボタン(input
ではなくa
要素)が必要な場合は、action
属性で/book/new
(または<%= new_admin_course_path %>
)を指定できます。 htmlフォーム(form
要素)。