Forum: Ruby on Rails Replace_html in 2.2.2

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.
D445ccdec864bfdc41e3d6333911387c?d=identicon&s=25 Eduardo Yáñez Parareda (eyp)
on 2009-02-16 18:15
(Received via mailing list)
Hello, I'm in troubles with an easy thing I've done several times, but
I don't see what I'm doign wrong.

Having index.html.erb:

<h1>Projects</h1>

<div id="new_project">
</div>
<table>
  <tr>
  </tr>

<% for project in @projects %>
  <tr>
    <td><%= project.name %></td>
    <td><%= project.description %></td>
    <td><%= link_to 'Show', project %></td>
    <td><%= link_to 'Edit', edit_project_path(project) %></td>
    <td><%= link_to 'Destroy', project, :confirm => 'Are you
sure?', :method => :delete %></td>
  </tr>
<% end %>
</table>

<br />

<%= link_to_remote 'New project', :url => new_project_path %>

new.rjs:

page.replace_html "new_project", :partial => "new", :object =>
@project

and finally _new.html.erb:

SOME TEXT



When I'm within index.html.erb and click on 'New project' link, I see
this log in the console:

Processing ProjectsController#new (for 127.0.0.1 at 2009-02-16
18:08:12) [GET]
  Parameters:
{"authenticity_token"=>"1efcdedfb3b680581058efa75cdbc143bf880b65"}
  SQL (0.1ms)   SET NAMES 'utf8'
  SQL (0.0ms)   SET SQL_AUTO_IS_NULL=0
  Project Columns (0.7ms)   SHOW FIELDS FROM `projects`
Rendering projects/new
Rendered projects/_new (0.2ms)
Completed in 11ms (View: 2, DB: 1) | 200 OK [http://localhost/projects/
new?authenticity_token=1efcdedfb3b680581058efa75cdbc143bf880b65]


but nothing happens, thus is, it doesn't replace the 'new_project'
DIV. What I'm doing wrong, because I can't see it.

Thanks in advance.
D445ccdec864bfdc41e3d6333911387c?d=identicon&s=25 Eduardo Yáñez Parareda (eyp)
on 2009-02-17 10:47
(Received via mailing list)
I can answer myself. I didn't notice that in Rails 2.2 I need to make
changes in the controller's action to respond to JS.

  def new
    @project = Project.new
    @states = ProjectStatus.all.collect {|s| [s.name, s.name]}
    respond_to do |format|
      format.html # new.html.erb
      format.js  # new.js.rjs <--------------------------------- HERE!
    end
  end

This is a thing I don't like with new releases of Rails, they always
broke backwards compatibility...
40db9e75b3f5899258e3bdc0c9210154?d=identicon&s=25 Conrad Taylor (Guest)
on 2009-02-17 11:01
(Received via mailing list)
On Tue, Feb 17, 2009 at 1:46 AM, Eduardo Yáñez Parareda <
eduardo.yanez@gmail.com> wrote:

>    end
>  end
>
> This is a thing I don't like with new releases of Rails, they always
> broke backwards compatibility...


Hi, you should never upgrade without reading the release notes and how
it
may effect your current application.

Good luck,

-Conrad
This topic is locked and can not be replied to.