Hey Guys... All of You... Thanks alot...... i have achieved it........i was
struglling on it from 2 3 days....and without all of your help i wouldnt
have successeded...... RUBY ON RAILS ROCK....thanks

On Thu, May 3, 2012 at 7:31 PM, Jeremy Walker <jez.wal...@gmail.com> wrote:

>
>
> On 3 May 2012 14:38, akshar jamgaonkar <akshar.jamgaon...@gmail.com>wrote:
>
>> HEy cool.. Thanks a lot...it worked however with state drop down i also
>> iam getting a lot of  other un necessary html...... The html is what i have
>> written in application.html.erb for templating purpose....... Is this the
>> wrong way to write static html code in application.html.erb... Thanks a
>> lot....
>
>
> You need to tell your view not render the layout. You should read the
> Rails guide to rendering and layouts. I'll let you figure it out from there:
> http://guides.rubyonrails.org/layouts_and_rendering.html
>
> Just for your reference, I feel that a better way of achieving what you're
> doing would be:
> * Have nested routes for countries and states and call the url at
> /countries/1/states.json (
> http://guides.rubyonrails.org/routing.html#nested-resources)
> * Have the index method of the StatesController respond to the .json
> request and render the states back as a JSON array. Let the browser and
> create the <option> tags using Javascript.
>
> IMHO that way is quicker, slicker and more maintainable.
>
> Also, in your current form, you could replace your $.ajax method with:
>
> $.get(country_states_path+country_id, function(data) {
>         $("#client_state_id").replaceWith(data);
>     }
> });
>
> Hope that's helpful.
>
>
>> On Thu, May 3, 2012 at 7:02 PM, Jeremy Walker <jez.wal...@gmail.com>wrote:
>>
>>>
>>>
>>> On 3 May 2012, at 14:24, akshar jamgaonkar <akshar.jamgaon...@gmail.com>
>>> wrote:
>>>
>>> Yes i  have a Select box with this id = "client_state_id" .. when i run
>>>  $("#client_state_id") the select drop down control gets highlighted. Thanks
>>>
>>>
>>> Try using replaceWith() instead of html() in your success function.
>>>
>>>
>>> On Thu, May 3, 2012 at 6:46 PM, Jeremy Walker <jez.wal...@gmail.com>wrote:
>>>
>>>>
>>>>
>>>> On 3 May 2012, at 14:06, AJ <akshar.jamgaon...@gmail.com> wrote:
>>>>
>>>> > Hello All,
>>>> >
>>>> > ill just summarize everything in this message..kindly suggest as to
>>>> > what might be wrong
>>>>
>>>> Do you have a div with the id of "client_state_id"? What do you get if
>>>> you run $("#client_state_id") in firebug?
>>>>
>>>> Jeremy Walker
>>>>
>>>> >
>>>> >
>>>> >
>>>> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>>> >              Iam trying to achiev  a functionlity of state drop down
>>>> > been populated on click of country........i have achieved almost 90%
>>>> > of this......iam getting appropriate responce in my firebug. responce
>>>> > is like this when i click india.....
>>>> >
>>>> > <select id="states_state_id" name="states[state_id]"><option
>>>> > value="2">Goa</option></select>
>>>> >
>>>> >
>>>> > my application .js looks like this
>>>> >
>>>> > $(document).ready(function() {
>>>> >    var country_states_path = '/states/countries_state/';
>>>> >    $("#client_country_id").change(function() {
>>>> >        var country_id = $(this).val();
>>>> >        $.ajax({
>>>> >            type: "GET",
>>>> >            data: {country: country_id},
>>>> >            url: country_states_path+country_id,
>>>> >            success: function(data) {
>>>> >                $("#client_state_id").html(data)
>>>> >            }
>>>> >        });
>>>> >    });
>>>> > });
>>>> >
>>>> >
>>>> >
>>>> > the controller state has an action like this
>>>> >
>>>> >  def countries_state
>>>> >    @state = State.where("country_id = :c_id",{:c_id =>
>>>> > params[:country_id]})
>>>> >    respond_to do |format|
>>>> >    format.js
>>>> >    end
>>>> >  end
>>>> >
>>>> >
>>>> >
>>>> > and template for this action is like
>>>> >
>>>> > <%= select("states", "state_id", @state.collect{|s| [s.name,s.id]})
>>>> %>
>>>> >
>>>> >
>>>> > However i am getting the response in  firebug but the html on page is
>>>> > not updated. Iam trying to find but iam stuck as iam a bit new to all
>>>> > this.
>>>> >
>>>> >
>>>> > Please suggest as to what might be wrong. thanks a lot
>>>> >
>>>> >
>>>> > Thanks & Regards,
>>>> > Akshar
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>>> >
>>>> >
>>>> > On May 3, 5:52 pm, akshar jamgaonkar <akshar.jamgaon...@gmail.com>
>>>> > wrote:
>>>> >> Hi all,
>>>> >>
>>>> >> I have succesfully got a responce like this as to what i want , this
>>>> is the
>>>> >> ouptut in my fireofx console.
>>>> >>
>>>> >> <select id="states_state_id" name="states[state_id]"><option
>>>> >> value="1">Maharashtra</option></select>.
>>>> >>
>>>> >> but the html on the page is not updating.......any reson why this
>>>> could be
>>>> >> ...thanks a lot....
>>>> >>
>>>> >> On Thu, May 3, 2012 at 5:58 PM, akshar jamgaonkar <
>>>> >>
>>>> >>
>>>> >>
>>>> >>
>>>> >>
>>>> >>
>>>> >>
>>>> >> akshar.jamgaon...@gmail.com> wrote:
>>>> >>> Also in the   def countries_state
>>>> >>> @state = State.where("country_id = :c_id",{:c_id =>
>>>> params[:country_id]})
>>>> >>> respond_to do |format|
>>>> >>>  format.html
>>>> >>> end
>>>> >>>   end
>>>> >>
>>>> >>> previously the it was format.js when nothing on the page was
>>>> changing
>>>> >>> dynamically but when i make it format.html, the state drop down
>>>> changes but
>>>> >>> i get all the unnecessary thing like the the entire html page.
>>>> >>
>>>> >>> Thanks
>>>> >>
>>>> >>> On Thu, May 3, 2012 at 5:47 PM, akshar jamgaonkar <
>>>> >>> akshar.jamgaon...@gmail.com> wrote:
>>>> >>
>>>> >>>> Hi Aziz....
>>>> >>
>>>> >>>>     Iam getting whatevr reponce iam nneding,....... Thansk a
>>>> lot.....in
>>>> >>>> the console in firbug when i see i get the states for a specific
>>>> >>>> counytry.....The responce is like "[[&quot;Goa&quot;, 2]]" ....
>>>> however
>>>> >>>> whatever processing i do in application.js in not taking
>>>> effect,,,,,,
>>>> >>
>>>> >>>> My application.js is
>>>> >>
>>>> >>>> $(document).ready(function() {
>>>> >>>>     var country_states_path = '/states/countries_state/';
>>>> >>>>     $("#client_country_id").change(function() {
>>>> >>>>         var country_id = $(this).val();
>>>> >>>>         $.ajax({
>>>> >>>>             type: "GET",
>>>> >>>>             data: {country: country_id},
>>>> >>>>             url: country_states_path+country_id,
>>>> >>>>             success: function(data) {
>>>> >>>>                 $("#client_country_id").html(data)
>>>> >>>>             }
>>>> >>>>         });
>>>> >>>>     });
>>>> >>>> });
>>>> >>
>>>> >>>> On Thu, May 3, 2012 at 5:36 PM, Aziz Bookwala <
>>>> aziz.bookw...@gmail.com>wrote:
>>>> >>
>>>> >>>>> Not a problem.
>>>> >>
>>>> >>>>> On Thu, May 3, 2012 at 5:32 PM, akshar jamgaonkar <
>>>> >>>>> akshar.jamgaon...@gmail.com> wrote:
>>>> >>
>>>> >>>>>> Thanks Aziz ....thanks a lot...really appriaciate your help
>>>> >>
>>>> >>>>>> On Thu, May 3, 2012 at 5:31 PM, Aziz Bookwala <
>>>> aziz.bookw...@gmail.com>wrote:
>>>> >>
>>>> >>>>>>> That is fine, though you could make it more 'RESTful' by adding
>>>> it as
>>>> >>>>>>> a nested resource. You can read about that here<
>>>> http://railscasts.com/episodes/139-nested-resources>.
>>>> >>>>>>> The RailsCast is a little old, but you should get the idea.
>>>> >>
>>>> >>>>>>> With respect to your current problem, what is the url you are
>>>> using in
>>>> >>>>>>> your js?
>>>> >>
>>>> >>>>>>> On Thu, May 3, 2012 at 5:23 PM, akshar jamgaonkar <
>>>> >>>>>>> akshar.jamgaon...@gmail.com> wrote:
>>>> >>
>>>> >>>>>>>> Iam sorry i didnt get you.......... i have created a new
>>>> action for
>>>> >>>>>>>> the ajax stuff is this approach wrong..... This is how my
>>>> states controller
>>>> >>>>>>>> is
>>>> >>
>>>> >>>>>>>>
>>>> ---------------------------------------------------------------------------
>>>> ---------------------------------------------------------------------------
>>>> -----------------------------------
>>>> >>
>>>> >>>>>>>> class StatesController < ApplicationController
>>>> >>>>>>>>   # GET /states
>>>> >>>>>>>>   # GET /states.json
>>>> >>>>>>>>   def index
>>>> >>>>>>>>     @states = State.all
>>>> >>
>>>> >>>>>>>>     respond_to do |format|
>>>> >>>>>>>>       format.html # index.html.erb
>>>> >>>>>>>>       format.json { render json: @states }
>>>> >>>>>>>>     end
>>>> >>>>>>>>   end
>>>> >>
>>>> >>>>>>>>   # GET /states/1
>>>> >>>>>>>>   # GET /states/1.json
>>>> >>>>>>>>   def show
>>>> >>>>>>>>     @state = State.find(params[:id])
>>>> >>
>>>> >>>>>>>>     respond_to do |format|
>>>> >>>>>>>>       format.html # show.html.erb
>>>> >>>>>>>>       format.json { render json: @state }
>>>> >>>>>>>>     end
>>>> >>>>>>>>   end
>>>> >>
>>>> >>>>>>>>   # GET /states/new
>>>> >>>>>>>>   # GET /states/new.json
>>>> >>>>>>>>   def new
>>>> >>>>>>>>     @state = State.new
>>>> >>>>>>>>     respond_to do |format|
>>>> >>>>>>>>       format.html # new.html.erb
>>>> >>>>>>>>       format.json { render json: @state }
>>>> >>>>>>>>     end
>>>> >>>>>>>>   end
>>>> >>
>>>> >>>>>>>>   # GET /states/1/edit
>>>> >>>>>>>>   def edit
>>>> >>>>>>>>     @state = State.find(params[:id])
>>>> >>>>>>>>   end
>>>> >>
>>>> >>>>>>>>   # POST /states
>>>> >>>>>>>>   # POST /states.json
>>>> >>>>>>>>   def create
>>>> >>>>>>>>     @state = State.new(params[:state])
>>>> >>
>>>> >>>>>>>>     respond_to do |format|
>>>> >>>>>>>>       if @state.save
>>>> >>>>>>>>         format.html { redirect_to @state, notice: 'State was
>>>> >>>>>>>> successfully created.' }
>>>> >>>>>>>>         format.json { render json: @state, status: :created,
>>>> >>>>>>>> location: @state }
>>>> >>>>>>>>       else
>>>> >>>>>>>>         format.html { render action: "new" }
>>>> >>>>>>>>         format.json { render json: @state.errors, status:
>>>> >>>>>>>> :unprocessable_entity }
>>>> >>>>>>>>       end
>>>> >>>>>>>>     end
>>>> >>>>>>>>   end
>>>> >>
>>>> >>>>>>>>   def countries_state
>>>> >>>>>>>> @state = State.find("country_id = :c_id",{:c_id =>
>>>> params[:country]})
>>>> >>>>>>>>  respond_to do |format|
>>>> >>>>>>>> format.html
>>>> >>>>>>>> format.js
>>>> >>>>>>>>  end
>>>> >>>>>>>>   end
>>>> >>
>>>> >>>>>>>>   # PUT /states/1
>>>> >>>>>>>>   # PUT /states/1.json
>>>> >>>>>>>>   def update
>>>> >>>>>>>>     @state = State.find(params[:id])
>>>> >>
>>>> >>>>>>>>     respond_to do |format|
>>>> >>>>>>>>       if @state.update_attributes(params[:state])
>>>> >>>>>>>>         format.html { redirect_to @state, notice: 'State was
>>>> >>>>>>>> successfully updated.' }
>>>> >>>>>>>>         format.json { head :ok }
>>>> >>>>>>>>       else
>>>> >>>>>>>>         format.html { render action: "edit" }
>>>> >>>>>>>>         format.json { render json: @state.errors, status:
>>>> >>>>>>>> :unprocessable_entity }
>>>> >>>>>>>>       end
>>>> >>>>>>>>     end
>>>> >>>>>>>>   end
>>>> >>
>>>> >>>>>>>>   # DELETE /states/1
>>>> >>>>>>>>   # DELETE /states/1.json
>>>> >>>>>>>>   def destroy
>>>> >>>>>>>>     @state = State.find(params[:id])
>>>> >>>>>>>>     @state.destroy
>>>> >>
>>>> >>>>>>>>     respond_to do |format|
>>>> >>>>>>>>       format.html { redirect_to states_url }
>>>> >>>>>>>>       format.json { head :ok }
>>>> >>>>>>>>     end
>>>> >>>>>>>>   end
>>>> >>>>>>>> end
>>>> >>
>>>> >>>>>>>>
>>>> ---------------------------------------------------------------------------
>>>> ---------------------------------------------------------------------------
>>>> ------------------------------------
>>>> >>
>>>> >>>>>>>> On Thu, May 3, 2012 at 5:20 PM, Aziz Bookwala <
>>>> >>>>>>>> aziz.bookw...@gmail.com> wrote:
>>>> >>
>>>> >>>>>>>>> Make sure ur using the currect URL for the new action.
>>>> >>
>>>> >>>>>>>>> On Thu, May 3, 2012 at 5:18 PM, akshar jamgaonkar <
>>>> >>>>>>>>> akshar.jamgaon...@gmail.com> wrote:
>>>> >>
>>>> >>>>>>>>>> Yea it looks like this...
>>>> >>
>>>> >>>>>>>>>> match "/states/countries_state/:country_id" =>
>>>> >>>>>>>>>> "states#countries_state"
>>>> >>
>>>> >>>>>>>>>>   resources :clients
>>>> >>
>>>> >>>>>>>>>>   resources :skill_sets
>>>> >>
>>>> >>>>>>>>>>   resources :technologies
>>>> >>
>>>> >>>>>>>>>>   resources :level_of_contacts
>>>> >>
>>>> >>>>>>>>>>   resources :states
>>>> >>
>>>> >>>>>>>>>>   resources :discounts
>>>> >>
>>>> >>>>>>>>>>   resources :countries
>>>> >>
>>>> >>>>>>>>>>   resources :roles
>>>> >>
>>>> >>>>>>>>>>   get "home/index"
>>>> >>
>>>> >>>>>>>>>> On Thu, May 3, 2012 at 5:15 PM, Aziz Bookwala <
>>>> >>>>>>>>>> aziz.bookw...@gmail.com> wrote:
>>>> >>
>>>> >>>>>>>>>>> Make sure this route comes before the route entry for the
>>>> country
>>>> >>>>>>>>>>> resource.
>>>> >>
>>>> >>>>>>>>>>> On Thu, May 3, 2012 at 5:12 PM, akshar jamgaonkar <
>>>> >>>>>>>>>>> akshar.jamgaon...@gmail.com> wrote:
>>>> >>
>>>> >>>>>>>>>>>> Yes i have added....it looks like this
>>>> >>
>>>> >>>>>>>>>>>> match "/states/countries_state/:country_id" =>
>>>> >>>>>>>>>>>> "states#countries_state"
>>>> >>
>>>> >>>>>>>>>>>> On Thu, May 3, 2012 at 5:10 PM, Aziz Bookwala <
>>>> >>>>>>>>>>>> aziz.bookw...@gmail.com> wrote:
>>>> >>
>>>> >>>>>>>>>>>>> Did you add a route for this new action?
>>>> >>
>>>> >>>>>>>>>>>>> On Thu, May 3, 2012 at 5:08 PM, akshar jamgaonkar <
>>>> >>>>>>>>>>>>> akshar.jamgaon...@gmail.com> wrote:
>>>> >>
>>>> >>>>>>>>>>>>>> Thanks Aziz....... I have wriiten a countries_state
>>>> action and
>>>> >>>>>>>>>>>>>> in states controller, and in application.js i have
>>>> modified the path like
>>>> >>>>>>>>>>>>>> this
>>>> >>>>>>>>>>>>>> var country_states_path = '/states/countries_state/';
>>>> however
>>>> >>>>>>>>>>>>>> on console its giving me eroor like
>>>> >>>>>>>>>>>>>>  <pre>Couldn't find State with id=countries_state</pre>
>>>> ... Iam
>>>> >>>>>>>>>>>>>> struggling to find what;s going wrong as iam pretty new
>>>> to all
>>>> >>>>>>>>>>>>>> this...thanks a lot all of you for your help......
>>>> >>
>>>> >>>>>>>>>>>>>> On Thu, May 3, 2012 at 5:03 PM, Aziz Bookwala <
>>>> >>>>>>>>>>>>>> aziz.bookw...@gmail.com> wrote:
>>>> >>
>>>> >>>>>>>>>>>>>>> Hey AJ
>>>> >>
>>>> >>>>>>>>>>>>>>> Yes, to serve any request made by your client, you
>>>> would need
>>>> >>>>>>>>>>>>>>> something on the server to handle the request.
>>>> >>>>>>>>>>>>>>> As for rendering the dropdown, this is a pretty simple
>>>> thing
>>>> >>>>>>>>>>>>>>> to do with jQuery. Look around, you should find
>>>> something quite easily.
>>>> >>
>>>> >>>>>>>>>>>>>>> On Thu, May 3, 2012 at 5:01 PM, akshar jamgaonkar <
>>>> >>>>>>>>>>>>>>> akshar.jamgaon...@gmail.com> wrote:
>>>> >>
>>>> >>>>>>>>>>>>>>>> Hey Aziz,
>>>> >>
>>>> >>>>>>>>>>>>>>>>        really thanks for you repl..........so do i
>>>> need to
>>>> >>>>>>>>>>>>>>>> write a controller action that would return me the
>>>> states depending on the
>>>> >>>>>>>>>>>>>>>> country and how do i render the state drop down in
>>>> Cilent Form...Thanks....
>>>> >>
>>>> >>>>>>>>>>>>>>>> Thanks,
>>>> >>>>>>>>>>>>>>>> AJ
>>>> >>
>>>> >>>>>>>>>>>>>>>> On Thu, May 3, 2012 at 4:46 PM, Aziz Bookwala <
>>>> >>>>>>>>>>>>>>>> aziz.bookw...@gmail.com> wrote:
>>>> >>
>>>> >>>>>>>>>>>>>>>>> Hey AJ
>>>> >>
>>>> >>>>>>>>>>>>>>>>> In your ajax call, you need to pass the id of the
>>>> selected
>>>> >>>>>>>>>>>>>>>>> state if you are using a nested resource url
>>>> structure.
>>>> >>>>>>>>>>>>>>>>> Your js would looks something like this:
>>>> >>
>>>> >>>>>>>>>>>>>>>>> $(document).ready(function() {
>>>> >>>>>>>>>>>>>>>>>     var country_states_path = '/countries/:id/states;
>>>> >>>>>>>>>>>>>>>>>     $("#client_country_id").change(function() {
>>>> >>
>>>> >> ...
>>>> >>
>>>> >> read more ยป
>>>> >
>>>> > --
>>>> > 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@googlegroups.com.
>>>> > To unsubscribe from this group, send email to
>>>> rubyonrails-talk+unsubscr...@googlegroups.com.
>>>> > For more options, visit this group at
>>>> http://groups.google.com/group/rubyonrails-talk?hl=en.
>>>> >
>>>>
>>>>
>>>>
>>>> --
>>>> 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@googlegroups.com.
>>>> To unsubscribe from this group, send email to
>>>> rubyonrails-talk+unsubscr...@googlegroups.com.
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/rubyonrails-talk?hl=en.
>>>>
>>>>
>>>
>>>
>>> --
>>> Thanks & Regards,
>>> Akshar Jamgaonkar
>>>
>>>  --
>>> 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@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> rubyonrails-talk+unsubscr...@googlegroups.com.
>>> For more options, visit this group at
>>> http://groups.google.com/group/rubyonrails-talk?hl=en.
>>>
>>>  --
>>> 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@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> rubyonrails-talk+unsubscr...@googlegroups.com.
>>> For more options, visit this group at
>>> http://groups.google.com/group/rubyonrails-talk?hl=en.
>>>
>>
>>
>>
>> --
>> Thanks & Regards,
>> Akshar Jamgaonkar
>>
>>  --
>> 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@googlegroups.com.
>> To unsubscribe from this group, send email to
>> rubyonrails-talk+unsubscr...@googlegroups.com.
>> For more options, visit this group at
>> http://groups.google.com/group/rubyonrails-talk?hl=en.
>>
>
>  --
> 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@googlegroups.com.
> To unsubscribe from this group, send email to
> rubyonrails-talk+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/rubyonrails-talk?hl=en.
>



-- 
Thanks & Regards,
Akshar Jamgaonkar

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

Reply via email to