Hi,
 I'm new in RoR and i wrote this mini-app, which can to add, edit and
delete the item in/from database. I think the edit and add item isn't
solve very good. I'm making both operations during one form.

CONTROLLER:
  def create
    if params[:name].length > 0 then

      if params[:id_obj].length > 1 then #editing of current record
        @update=Person.find(params[:id_obj])

        if @update.update_attributes(:name=>params[:name])
          flash[:notice] = 'Your record was succesfly edited.'
          redirect_to :action => 'index'
        else
          flash[:warning] = 'ERROR: your record was not edited (no
input)!'
          redirect_to :action => 'index'
        end

      else #creating the new record
        @haha=Person.new(:name=>params[:name])

        if @haha.save
          flash[:notice] = 'Your record was succesfly saved.'
          redirect_to :action => 'index'
        else
          flash[:warning] = 'ERROR: your record was not succesfly
saved.'
          redirect_to :action => 'index'
        end
      end

  else #input for name is empty
      flash[:warning] = 'ERROR: your record was not succesfly saved (no
input).'
      redirect_to :action => 'index'
  end
  end

VIEW:
<%= form_tag({ :action => 'create' }, { :method => 'post' }) do %>
<table>
    <tr>
      <td colspan="2">Here put your own idea! :)</td>
    </tr>
    <tr>
      <td colspan="2"><%= hidden_field_tag 'id_obj', if @update then
@update.id else '' end %></td>
    </tr>
    <tr>
      <td>Name: </td>
      <td><%= text_field_tag 'name', if @update then @update.name else
'' end %></td>
    </tr>
    <tr>
      <td>Text of message: </td>
      <td><textarea name="text"></textarea></td>
    </tr>
    <tr>
      <td></td>
      <td><input type="submit" name="send" value="Save this post!"
/></td>
    </tr>
  </table>
<% end %>

So I would to ask you about help, how to make this code more effective
-- this solve is not much nice...

Thanks, M.

-- 
Posted via http://www.ruby-forum.com/.

-- 
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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to