2013-05-03 11 views
6

Twitterブートストラップに問題があります& Railsデータリモートリンク。Railsリモートブートストラップリモートモーダルとの競合

モーダルコンテンツをdata-remote="/path/to/data"で読み込みます。私が望むようにすべてが機能しますが、2つの要求を作成します。

= link_to '#myModal', 'Click here', data: {toggle: 'modal', remote: '/path'} 

最初は、私がそのブートストラップが彼のrequetsを行い、モーダルが示された後だページへの要求を行うレールデータ-reomteです。

指定されたリンク上のレールをリモートにする方法はありますか、それとも実際に別の問題ですか?

+0

多分コンテキストがありませんが、あなたのモーダルのコンテンツがロードされている場合は、なぜリモコンをオフにしたいのですか?ブートストラップからのリクエストは、私が信じるモーダルを表示するためにのみ使用され、_really_httpリクエストではありません。 –

+0

ブートストラップがdata-remote経由でコンテンツをロードしていて、railsが取得要求をロードしています。私は、モーダルをロードしたいだけです。 – sandelius

答えて

5

モーダル上のブートストラップドキュメントによると:あなたはデータAPIを使用している場合、あなたはその代わりに、リモートソースを指定するHREFタグを使用することができhttp://twitter.github.io/bootstrap/javascript.html#modals

。これの例を以下に示します。

<a data-toggle="modal" href="remote.html" data-target="#modal">click me</a> 

だから、あなたの要求は無効RailsのUJSデータAPIによって実現し、ブートストラップのを使用することができます。このように

<a data-toggle="modal" href="remote.html" data-target="#modal" 
data-remote="false">click me</a> 

あなたの場合サーバー側のコード

= link_to 'Click here', '/path_for_bootstrap', 
    data: {toggle: 'modal', remote: false, target: "#myModal"} 

更新以上、誰もがそれを必要としないで、すべてのためremote、ブートストラップやUJSのいずれかを定義する必要はありません!

= link_to 'Click here', '/path_for_bootstrap', 
    data: {toggle: 'modal', target: "#myModal"} 
+0

ああ、私がリモコンを削除した場合:falseそれは動作し、1つの要求だけが作成されます。ありがとうございました!! – sandelius

+0

@sandelius、aha、yes :)実際には、この場合は 'remote'を定義する必要はありません。 –

+0

Hm ..私は "no-javascript client"互換コードを作成したかったのです.Bootstrapは、JSがサポートされていないブラウザーに対してはJS(またはスパイダー)のないブラウザーにhrefを設定し、JS-supportを持つブラウザーにはremoteを設定することができます。 – knagode