Ruby on Rails Monday, February 9, 2015

Thx for the answer
but my problem is when I have a query, I am unable to go to the second page
I get @posts as nil object, it is like paginating with ajax do not submit the query when changing the page

rgds,

On Monday, February 9, 2015 at 5:25:13 PM UTC+1, tamouse wrote:
... except with the right model name ...

On Mon, Feb 9, 2015 at 10:24 AM, tamouse pontiki <tamous...@gmail.com> wrote:
Maybe what you want is something more like:

if params[:q]
  @posts = Posts.find_with_q.paginate...
else
  @posts = Posts.all.paginate...
end

respond_to do |format|
  ...
end




So your rendering isn't gated by whether there is a 'q' parameter; it only determines what gets set into @posts.

On Mon, Feb 9, 2015 at 5:13 AM, Melb01 <melag...@gmail.com> wrote:
Hi,
I have an index page with searchbox and with pagination, it worked well
when I tried to make pagination with javascript, itworked for the first page but not the second
I think the problem is to pass the value of the search box to the script of pagination

here is my code:
------------------------------------------------------------------------------------
index.hmtl.erb

<%= text_field_tag 'q', params['q']  %>
<div id="posts" >  
        <%= render  'layouts/posts' %>
</div>
<% if !@posts.nil? %>
      <%= link_to 'Load More Posts', post_path(:page => @posts.next_page), :class => 'load-more-posts', :remote => true if @posts.next_page %>
 <% end %>
-----------------------------------------------------------------
_posts.html.erb
<% if !@posts.nil? && @posts.size > 0  %>
                <% @posts.each_with_index do |post| %>
                    <b><%= post.title %></b>
                    <p><%= post.body %></p>
                <% end %>
 <% end %>
-----------------------------------------------------


index.js.erb
$("#posts").append("<%= escape_javascript(render partial: "layouts/posts", :locals => { :posts => @posts }) %>");
---------------------------------------------------------------------------
post_controller.rb

if !params[:q].nil?  
     
      @posts = Post.find_with_q.paginate(:per_page => 10, :page =>  params[:page])
     
      respond_to do |format|
        format.html # index.html.erb
        format.json { render json: @posts }
        format.js
      end
end

--------------------------------------------------------------------------------


The problem with this code is thatI can't go to the next page beause the params q is null with ajax call
when I delete the condition it works well
thank you fo the help

rgds,



--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-ta...@googlegroups.com.
To post to this group, send email to rubyonra...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/b53cd303-5228-4885-814b-44eaade8c4c6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/f336240a-0d3c-4cb0-a3ba-c9b06c496315%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment