rooftops
のために、contacts
部分的なページ内を配置しようとしています。 Rooftopsには多くの連絡先があり、ネストされたルートもあり、/rooftops/1/contacts
が許可されています。 will_paginate
リンクを作成しようとすると、 '/ rooftops/1/contacts /'ではなく、パスとして/rooftops/1
が得られます。レールのページネストされたルート
ページネーションリンクビューを作成せずにページングパスを変更する方法はありますか?私はwill_paginate hereのrdocに行きましたが、godaddyページに行きます。
アイデア?
class Contact < ActiveRecord::Base
has_and_belongs_to_many :parents
has_and_belongs_to_many :rooftops
has_one :user
has_one :address, :as => :addressable, :dependent => :destroy
has_many :phone, :as => :phoneable, :dependent => :destroy
belongs_to :position
accepts_nested_attributes_for :address, :reject_if => lambda { |a| a[:street].blank? }
accepts_nested_attributes_for :phone, :reject_if => lambda { |a| a[:phone_number].blank? }, :allow_destroy => true
validates_associated :address, :phone, :position
validates_presence_of :lname
validates_presence_of :fname
validates_presence_of :email
validates_presence_of :position_id
def self.search(page)
paginate :per_page => 3,
:page => page
end
end
class RooftopsController < ApplicationController
def show
@rooftop = Rooftop.find(params[:id])
@contacts = @rooftop.contacts.search(1)
end
end
<div class='pagination'>
<%= will_paginate contacts %>
</div>
これは/rooftops/1
を作成し、私は/rooftops/1/contacts
にそれを強制するかどうかはわかりません。
---------------------
私のルートは
resources :rooftops do
resources :contacts
end
私の問題がどこにあるか知っていると思います。私の検索機能はモデル内にあるので。私は実際にコントローラcontacts
に触れることはありません。私はrooftops
コントローラから検索し、contacts
ビューから部分的に呼び出します。私は私の意見が何であるかを示します。
<div id='contacts' style='margin-top: 20px; border-bottom: 1px solid lightgrey;'>
<h4>Contacts <%= link_to "new", new_polymorphic_path([@rooftop, Contact]) %></h4>
<%= render :partial => 'contacts/contacts', :locals => { :object_type => @rooftop, :layer => 1 } %>
</div>
これは実際の部分です。ご覧のように、実際にはコンタクトコントローラを通過することはありません。これが私の問題の原因になりますか?
<table>
<tr>
<th></th>
</tr>
<% @contacts.each do |contact| %>
<tr>
<td class='contact_mailer'>
<%= link_to image_tag('icons/gray_light/mail_12x9.png'), "mailto:#{contact.email}" %>
</td>
<td>
<div class='expandable layer_<%= layer %>' style='float: left'>
<%= link_to contact.fname.titleize + ' ' + contact.lname.titleize, polymorphic_path([object_type, @contact]), :class => "contact_name" %>
</div>
</td>
<td>
<%= image_tag 'icons/blue/key_stroke_8x8.png' %>
</td>
</tr>
<% end %>
</table>
<br />
<div class='pagination'>
<%= will_paginate @contacts %>
</div>
ありがとうございました。
mislav/will_pageinateのgithub wikiページとドキュメントはおそらく同じです:https://github.com/mislav/will_paginate/wiki – fifigyuri