Why render doesn't work


#1

I use render in a view page like this:

<% form_for :project do |form| %>

<%= render :partial=>'project_version' %>
<%= select_tag:project_selection,options_for_select(@project_names) %> <%= observe_field :project_selection, :frequency => 0.5, :update => 'project_version_ajax', :url => {:action => 'update_project_selection'} %>

<% end %>

In update_project_selection controller:

def update_project_selection

render :partial=>‘project_version’
end

when the select box changed its value, the controller is invoked but the
_project_version.html.erb doesn’t update.


#2

On 6 Jan 2009, at 14:07, Zhao Yi wrote:

<%=
observe_field :project_selection,
:frequency => 0.5,
:update => ‘project_version_ajax’,
:url => {:action => ‘update_project_selection’} %>

<%= render :partial=>'project_version' %>

I don’t believe it’s legal HTML to have a div there.

Fred


#3

Frederick C. wrote:

I don’t believe it’s legal HTML to have a div there.

Fred

Why? Could you tell me what wrong with my code?


#4

On 6 Jan 2009, at 14:53, Zhao Yi wrote:

Frederick C. wrote:

I don’t believe it’s legal HTML to have a div there.

Fred

Why? Could you tell me what wrong with my code?

That’s just the way it is, divs aren’t allowed there (just as you
can’t do

either). Try putting your html
through the w3c validator

Fred


#5

Quoting Zhao Yi removed_email_address@domain.invalid:

Frederick C. wrote:

That’s just the way it is, divs aren’t allowed there (just as you
can’t do

either). Try putting your html
through the w3c validator

Fred
A render must be in an element. If I can’t use div in this case, how can
I render it?

Your element (the

) isn’t in a valid place. You have it
between
a row and the end of the table. Is it supposed to straddle the table
boundary? Either move it into the … or outside the table as
appropriate. Or put it in a table row of its own.

Jeffrey


#6

Frederick C. wrote:

That’s just the way it is, divs aren’t allowed there (just as you
can’t do

either). Try putting your html
through the w3c validator

Fred
A render must be in an element. If I can’t use div in this case, how can
I render it?