Forum: Ruby on Rails Does respond_to play nicely with render :update?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Bb4bdf2b184027bc38d4fb529770cde5?d=identicon&s=25 Wes Gamble (weyus)
on 2009-04-19 03:01
I have a custom format that I'm using called 'desktop'.

I have an action which is called via AJAX, and I'd like to update a div
in my page with a partial.

The request comes in with params[:format] == 'desktop', and my partial
is named _search_results.desktop.erb

However, when I do this in my action:

respond_to do |format|
  format.desktop {render :update do |page|
                   page.replace_html('search_results', :partial =>
'search_results')
                  end}
end

I keep getting errors about missing _search_results.html.erb.

Can you not use a custom format with the render :update do |page| idiom?

Thanks,
Wes
0914e5093f1af95df0ab2478818856d8?d=identicon&s=25 Bradly Feeley (bradly)
on 2009-04-19 05:12
(Received via mailing list)
I think I remember an issue that when using custom formats you need to
give the full path the the partial like :partial => 'posts/
search_results'.

Bradly Feeley


On Apr 18, 6:01 pm, Wes Gamble <rails-mailing-l...@andreas-s.net>
Bb4bdf2b184027bc38d4fb529770cde5?d=identicon&s=25 Wes Gamble (weyus)
on 2009-04-19 05:19
Bradly Feeley wrote:
> I think I remember an issue that when using custom formats you need to
> give the full path the the partial like :partial => 'posts/
> search_results'.
>
> Bradly Feeley
>
>
> On Apr 18, 6:01�pm, Wes Gamble <rails-mailing-l...@andreas-s.net>

That doesn't seem to work for me.

W
782b01570270ab10543bc25a258d7ea8?d=identicon&s=25 dmitry.sokurenko@gmail.com (Guest)
on 2009-04-21 15:13
(Received via mailing list)
Try to include the extension -- :partial => 'posts/
search_results.desktop.erb'.

Dmitry
Bb4bdf2b184027bc38d4fb529770cde5?d=identicon&s=25 Wes Gamble (weyus)
on 2009-04-21 15:48
If I do this, it works:

page.replace_html('search_results', render(:partial =>
'search_results'))

Notice that originally, I was passing just the hash key/value pair, but
now I am passing a render call.

According to the API docs:

"options_for_render may be either a string of HTML to insert, or a hash
of options to be passed to ActionView::Base#render."

which is what I was doing that wasn't working.  I wonder if what happens
when I pass the render call, is that returns a string that is used in
the replace_html call.

Thanks,
Wes
This topic is locked and can not be replied to.