ヘルパーを使用して属性link_to
なしでリンクを作成するにはどうすればよいですか?href
javascriptアクション専用のリンクを作成したいのですが、ページなどをリロードしたくありません。
urlパラメータを省略すると、リンクをクリックするとページがリロードされます。nil
URLの代わりに提供するための同上。
ヘルパーを使用して属性link_to
なしでリンクを作成するにはどうすればよいですか?href
javascriptアクション専用のリンクを作成したいのですが、ページなどをリロードしたくありません。
urlパラメータを省略すると、リンクをクリックするとページがリロードされます。nil
URLの代わりに提供するための同上。
また、使用することができます
content_tag("a","link text")
それはあなたに
<a>link text</a>
または、@ cesartalvesからのコメントから、ブロックを使用して:
content_tag("a") do
image_tag("src")
end
参照:rails api
私はこのアプローチを使用します:
= link_to('Click me', 'javascript:;', :id => :foo)
その基本的にはJavascriptno-op
hrefを次のように設定します。
javascript:void(0)
これにより、クリックしても何も起こらず、ページがリロードされず、ページが一番上に移動しないというリンクが表示されます。
代替案は
= link_to("My hyperlink", "#")
これにより、クリックしたときにnilを渡すようにページをリロードしないリンクが表示されます。同時に、content_tagアプローチでは得られない、マウスオーバー時のポインターにマウスを設定します。
hrefがない状況では、ボタンを使用する方が良いと思います。
<button class='button'>Hello</button>
<%= link_to '+ Add Make', 'javascript:void(0)', id: 'add-make', onclick: 'addMake()' %>
次に、jQuery:
function addMake() {
$.ajax({
url: '/dealers',
type: 'GET',
dataType: 'script',
success: function (data) {
console.log('it was successful')
$('.add-make').hide();
},
error: function (data) {
console.log('it was error')
}
});
}
href
このような場合は、属性のないプレーンHTMLを使用することをお勧めします。
<a data-toggle="modal" data-target="#myModal">Open dialog</a>
私見それはより読みやすいですcontent_tag("a","link text")
。
href=#
、デフォルトでクリックするとブラウザが一番上にスクロールすることですjavascript:;
醜く見える