HI!
In my form rendered partially, for 3 models: User, Address, Phone.
The are if conditions in the form for handling user registration and
updating user.
When i do the registration part the submit button works but on the
edit it wont !!??
Heres the complete form:
manage.html.erb:
<%= error_messages_for ''user'' %>
<% if params[:id].blank? -%>
<%form_for :user, :url=>{:action=>:register} do |form| %>
<%= render :partial=>''form'', :locals => { :form
=> form }%>
<fieldset class="alt" id="submit">
<%= submit_tag "rejestruj"%>
</fieldset>
<%end%>
<%else -%>
<%form_for :user,@user, :url=>{ :action=>:update,:id=>@user.id} do
|
form| %>
<%= render :partial=>''form'', :locals => { :form
=> form }%>
<% end %>
<fieldset class="alt" id="submit">
<%= submit_tag "zmień" %>
</fieldset>
<%end%>
_form.html.erb
<fieldset>
<legend>
<span>Dane systemowe:</span>
</legend>
<label for="login">
<span>Login:</span>
<%=form.text_field :login,:size=>25 %><em>*</em>
</label>
<label for="user_password">
<span>Hasło:</span>
<%=form.password_field :password, :size=>30
%><em>*</em>
</label>
<label for="user_password_confirmation">
<span>Powtórz hasło:</span>
<%=form.password_field :password_confirmation, :size=>30
%><em>*</em>
</label>
<label for="type">
<span>typ konta:</span>
</label>
<fieldset>
<%if session[:user_level].to_i == 3 %>
<label>
<span>administrator:</span>
<%=form.radio_button :account_type, ''3'' %>
</label>
<%end %>
<label for="user_acount_type">
<span>nauczyciel: </span>
<%=form.radio_button :account_type, ''2'' %>
</label>
<label>
<span>uczeń:</span>
<%=form.radio_button :account_type, ''1'' %>
</label>
</fieldset>
</fieldset>
<fieldset class="alt">
<legend>
<span>Dane osobowe:</span>
</legend>
<label for="user_name">
<span>Imie:</span>
<%=form.text_field :name, :size=>15 %><em>*</em>
</label>
<label for="user_surname">
<span>Nazwisko:</span>
<%=form.text_field :surname, :size=>20 %><em>*</em>
</label>
</fieldset>
<fieldset>
<legend>
<span>Dane adresowe:</span>
</legend>
<%if @user %>
<%fields_for :address, @user.address do |a| %>
<%=render :partial=>''address'',:locals=>{:a =>
a} %>
<%end %>
<%else %>
<%fields_for :address do |a| %>
<%=render :partial=>''address'',:locals=>{:a =>
a} %>
<%end %>
<%end %>
<%if @user %>
<%fields_for :phones, @user.phones[0] do |p| %>
<%=render :partial=>''phones'',:locals=>{:p => p}
%>
<%end %>
<%else %>
<%fields_for :phones do |p| %>
<%=render :partial=>''phones'',:locals=>{:p => p}
%>
<%end %>
<%end %>
<label for="user_email">
<span>Email:</span>
<%=form.text_field :email, :size=>55 %><em>*</em>
</label>
<label for="user_home_page">
<span>prywatna strona www:</span>
<%=form.text_field :home_page, :size=>75 %>
</label>
</fieldset>
address.html.erb
<label for="street"><span>Ulica:</span>
<%= a.text_field :street, :size=>25%>
</label>
<label for="number"><span>Numer:</span>
<%= a.text_field :number, :size=>8%>
</label>
<label for="street"><span>Miasto:</span>
<%= a.text_field :city, :size=>30 %>
</label>
<label for="post_code"><span>Kod pocztowy:</span>
<%= a.text_field :post_code, :size=>17%>
</label>
<label for="state"><span>Województwo:</span>
<%= a.text_field :state, :size=>18 %>
</label>
<label for="user_address_country"><span>Kraj:</span>
<%= a.text_field :country, :size=>25 %>
</label>
_phones.html.erb
<label for="phone_type"><span>Telefon:</span>
<%= p.select
:phone_type,[''domowy'',''komórkowy'',''biurowy'']%>
</label>
<label for="home_phone"><span>numer:</span>
<%= p.text_field :number, :size=>19%>
</label>
And the action in the controller
def register
@user = User.new(params[:user])
@address = Address.new(params[:address])
@user.address = Address.new(params[:address]) #@address
@phone = Phone.new(params[:phones])
@user.phones << @phone
if request.post? and @user.save
flash[:notice] = "Zostałeś zarejestrowany " + @user.login
redirect_to(:controller=>:main, :action =>:index)
else
render :action=>:manage
end
end
Other thing is that adding the addres to juser stoped working, after
adding another field :/
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---