Assign counter to view......is it possible?

Hi, I really want to know if it is possible to assign counter to the .rhtml page so that if counter=1, when the submit button is clicked, I will do the save/create action. If counter >= 2, when the submit button is clicked, I will do the update action.

Thanks, user splash

You could accomplish this with the use of sessions. I'm really still new to RoR. But basically with sessions enabled you can add code to your page controller like:

def find_count   session[:count] ||= 0 // Looks to see if session[:count] has been initialized, if not it will in this case set it to a value of 0.   session[:count += 1 // increment by 1. First visit will be initialized to 1. Successive visits will increment as stated earlier, by 1. end

then in the view code do something a control structure check like

<% if session[:count] == 1 %>   <% form_for :model, :url => { :action => :save } do |form| %>     <%= render :partial => 'form' %>     <%= submit_tag "Save" %> <% end %> <% elsif session[:count] > 1 %>   <% form_for :model, :url => { :action => :edit } do |form| %>     <%= render :partial => 'form' %>     <%= submit_tag "Edit" %>   <% end %> <% end %>

Where the above render code will look for a file called _form.rhtml in the same folder and render the contents of that file, in this case it should contain the fields for your model.

Neon wrote:

You could accomplish this with the use of sessions. I'm really still new to RoR. But basically with sessions enabled you can add code to your page controller like:

def find_count   session[:count] ||= 0 // Looks to see if session[:count] has been initialized, if not it will in this case set it to a value of 0.   session[:count += 1 // increment by 1. First visit will be initialized to 1. Successive visits will increment as stated earlier, by 1. end

then in the view code do something a control structure check like

<% if session[:count] == 1 %>   <% form_for :model, :url => { :action => :save } do |form| %>     <%= render :partial => 'form' %>     <%= submit_tag "Save" %> <% end %> <% elsif session[:count] > 1 %>   <% form_for :model, :url => { :action => :edit } do |form| %>     <%= render :partial => 'form' %>     <%= submit_tag "Edit" %>   <% end %> <% end %>

Where the above render code will look for a file called _form.rhtml in the same folder and render the contents of that file, in this case it should contain the fields for your model. On Jan 10, 6:09 pm, user splash <rails-mailing-l...@andreas-s.net>

Hi, The above method allows me to save the data when i first time i enter the page allows me to edit the subsequent time i enter that page. But what should i do to enable the user to update that data that was saved previously ? I thought of using the find current id to edit the data. But it will not be practical as the current id of the data might not be that particular i want to edit.Can someone tell me what should i do?

Thanks, user splash

fries 88 wrote:

Neon wrote:

You could accomplish this with the use of sessions. I'm really still new to RoR. But basically with sessions enabled you can add code to your page controller like:

def find_count   session[:count] ||= 0 // Looks to see if session[:count] has been initialized, if not it will in this case set it to a value of 0.   session[:count += 1 // increment by 1. First visit will be initialized to 1. Successive visits will increment as stated earlier, by 1. end

then in the view code do something a control structure check like

<% if session[:count] == 1 %>   <% form_for :model, :url => { :action => :save } do |form| %>     <%= render :partial => 'form' %>     <%= submit_tag "Save" %> <% end %> <% elsif session[:count] > 1 %>   <% form_for :model, :url => { :action => :edit } do |form| %>     <%= render :partial => 'form' %>     <%= submit_tag "Edit" %>   <% end %> <% end %>

Where the above render code will look for a file called _form.rhtml in the same folder and render the contents of that file, in this case it should contain the fields for your model. On Jan 10, 6:09 pm, user splash <rails-mailing-l...@andreas-s.net>

Hi, The above method allows me to save the data when i first time i enter the page allows me to edit the subsequent time i enter that page. But what should i do to enable the user to update that data that was saved previously ? I thought of using the find current id to edit the data. But it will not be practical as the current id of the data might not be that particular i want to edit.Can someone tell me what should i do?

Thanks, user splash

Hi, Adding on to the previous posting's question, does anyone also know how to end the session? Like when ever I enter the main page a new session is created and when i click a button/link, the session will be ended.

Thanks fries 88