11

link_toポップアップを開くために使用したいだけです。私は何かを試しましたが、うまくいきません:

 <%= link_to 'Create a new company',
             new_company_path,
             :popup => ['create_company', 'height=600, width=600'] %> <br/>

何か案が?

ありがとう!

4

5 に答える 5

19

これをapplication.jsに追加します。

$('a[data-popup]').on('click', function(e) { window.open($(this).attr('href')); e.preventDefault(); });

ビューで、次のようなものを使用します。

= link_to( 'Create a new company', new_company_path, 'data-popup' => true )
于 2012-01-12T00:56:28.027 に答える
11
<%= link_to 'Create a new company',
         new_company_path, 
        :onclick=>"window.open(this.href,'create_company', 'height=600, width=600');return false;" 
%>
于 2011-07-22T03:39:12.590 に答える
6

この問題を最初に突き刺したのは、おそらく次のようになります。これは、rails 3、jQuery、およびjquery-railsを使用していることを前提としています。そうでない場合、このアプローチは間違いなく機能しません。この正確なコードはテストされていないため、マイレージは異なる場合があります。私はあなたが問題についてどのように考えたいかについてあなたにアイデアを与えようとしているだけです。これがどのように機能するかについて詳しく説明したい場合、または質問がある場合は、お知らせください。できる限り説明します。

link_toをajax投稿に変えます:

<%= link_to "Create a new company", new_company_path, :remote => true, :method => :post %>

コントローラで、JavaScriptテンプレートを使用して応答します。

def create
    @company = Company.new(params[:company])
    respond_to do |format|
       if @company.save
          format.js
       else
          format.js { render 'error' }
       end
    end
end

views / Companies / create.js.erbで、JSを実行して新しいウィンドウを開きます。

window.open (<%= company_url(@company) %>, "mywindow","width=600,height=600");

そして、それは多かれ少なかれそれをするべきだと私は思います。ビールを何杯か飲んだことがあるので、注意して進めてください。

于 2011-03-06T04:20:50.090 に答える
2

リンクを新しいウィンドウで開くことが目標であり、ディメンション/ツールバーなどの管理を気にしない場合は、古き良きHTMLを使用することもできます。

<%= link_to 'Create a new company', new_company_path, :target => '_blank' %>
于 2013-03-04T22:32:33.553 に答える
1

これは迅速で汚い解決策です

<%= link_to 'Create a new company',
             '#', :onclick => "javascript:window.open(new_company_path,'popup','width=600,height=600');" %>
于 2012-10-16T14:27:35.970 に答える