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() {
>>>>>>>>>>         var state_id = $(this).val();
>>>>>>>>>>         $.ajax({
>>>>>>>>>>             type: "GET",
>>>>>>>>>>             url: country_states_path.replace(":id", id),
>>>>>>>>>>             success: function(data) {
>>>>>>>>>>                 // Code to populate cities
>>>>>>>>>>             }
>>>>>>>>>>         });
>>>>>>>>>>     });
>>>>>>>>>> });
>>>>>>>>>>
>>>>>>>>>> Incase you are not using nested resources, you still need to pass
>>>>>>>>>> the state_id that was selected currently. Using the below js, in your
>>>>>>>>>> controller, the state id would be available as params[:state]
>>>>>>>>>>
>>>>>>>>>> $(document).ready(function() {
>>>>>>>>>>     var country_states_path = '/states/';
>>>>>>>>>>     $("#client_country_id").change(function() {
>>>>>>>>>>         var country_id = $(this).val();
>>>>>>>>>>         $.ajax({
>>>>>>>>>>             type: "GET",
>>>>>>>>>>             data: {country: country_id},
>>>>>>>>>>             url: country_states_path,
>>>>>>>>>>             success: function(data) {
>>>>>>>>>>                 // Code to populate cities
>>>>>>>>>>             }
>>>>>>>>>>         });
>>>>>>>>>>     });
>>>>>>>>>> });
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Thu, May 3, 2012 at 12:42 PM, AJ 
>>>>>>>>>> <akshar.jamgaon...@gmail.com>wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi Hassan,
>>>>>>>>>>>
>>>>>>>>>>> I am Bit of a novoice to this...... iam nt sure wether this is
>>>>>>>>>>> correct
>>>>>>>>>>> approach...in my application.js file i have wriiten
>>>>>>>>>>>
>>>>>>>>>>> $(document).ready(function() {
>>>>>>>>>>>  $("#client_country_id").change(function() {
>>>>>>>>>>> $.ajax({
>>>>>>>>>>>  type: "GET",
>>>>>>>>>>>  url: '/states/1',
>>>>>>>>>>>  success: function(data) {
>>>>>>>>>>>  // Code
>>>>>>>>>>>  }
>>>>>>>>>>> });
>>>>>>>>>>> });
>>>>>>>>>>> });
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> and my clients form has state feidl like this
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>  <div class="field row odd">
>>>>>>>>>>>    <%= f.label :state1 %>
>>>>>>>>>>>     <%= f.select 'state_id', State.find(:all).collect{|s|
>>>>>>>>>>> [s.name,s.id]} %>
>>>>>>>>>>>  </div>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> now i want to pass the country id and ftecth state depending on
>>>>>>>>>>> it..... do i include the above div in a prtial and what to write
>>>>>>>>>>> in
>>>>>>>>>>> the state controller.....
>>>>>>>>>>>
>>>>>>>>>>> Thanks in advance.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Thanks & Regards,
>>>>>>>>>>>
>>>>>>>>>>> On May 2, 7:14 pm, Hassan Schroeder <hassan.schroe...@gmail.com>
>>>>>>>>>>> wrote:
>>>>>>>>>>> > On Wed, May 2, 2012 at 7:06 AM, akshar jamgaonkar
>>>>>>>>>>> >
>>>>>>>>>>> > <akshar.jamgaon...@gmail.com> wrote:
>>>>>>>>>>> > > i have gone through this but it has an example where
>>>>>>>>>>> Javascript has been
>>>>>>>>>>> > > used , i want to use AJAX and JQuery,
>>>>>>>>>>> >
>>>>>>>>>>> > So what's the problem? What have you tried so far, and how did
>>>>>>>>>>> it
>>>>>>>>>>> > not work?
>>>>>>>>>>> >
>>>>>>>>>>> > --
>>>>>>>>>>> > Hassan Schroeder ------------------------ hassan.schroe...
>>>>>>>>>>> @gmail.comhttp://about.me/hassanschroeder
>>>>>>>>>>> > twitter: @hassan
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> 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.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> - Aziz M. Bookwala
>>>>>>>>>>
>>>>>>>>>>  --
>>>>>>>>>> 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.
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> - Aziz M. Bookwala
>>>>>>>>
>>>>>>>> --
>>>>>>>> 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.
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> - Aziz M. Bookwala
>>>>>>
>>>>>> --
>>>>>> 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.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> - Aziz M. Bookwala
>>>>
>>>> --
>>>> 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.
>>>
>>
>>
>>
>> --
>> - Aziz M. Bookwala
>>
>> --
>> 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.
>



-- 
- Aziz M. Bookwala

-- 
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