# Routes map and correct path

**URL:** <https://www.ruby-forum.com/t/routes-map-and-correct-path/149836>\
**Category:** Rails\
**Created:** [September 30, 2008, 12:47pm UTC](https://www.ruby-forum.com/t/routes-map-and-correct-path/149836 "2008-09-30T12:47:51Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![pandabeer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/ecd19e/32.png) [@pandabeer](https://www.ruby-forum.com/u/pandabeer)\
**Post date:** [September 30, 2008, 12:47pm UTC](https://www.ruby-forum.com/t/routes-map-and-correct-path/149836/1 "2008-09-30T12:47:51Z")

</div>

Hello everybody,

Here you can see my short code:

# in routes.rb:

map.resources :users

# in users\_controller.rb

def new  
@user = User.new  
end

# in views/users/new.html.erb:

\<% form\_for @user do |f| %\>

And that work very well. I would like to update the current route like  
this:

# in routes.rb:

map.resources :apps do |app|  
app.resources :users  
end

# in users\_controller.rb

def new  
@user = User.new  
@user.app\_id = the\_current\_app.id  
end

But after refresh, I got this error:

NoMethodError in Users#new

Showing users/new.html.erb where line #1 raised:

undefined method `users\_path’ for #ActionView::Base:0x20c4a34  
Extracted source (around line #1):

1: \<% form\_for @user do |f| %\>

Is there a clean way to solve this error? (I believe it’s possible to  
add a :url parameter in the form\_for tag but I don’t know if it’s the  
best way.)

Thanks a lot

---

<div class="post-metadata">

**Author:** ![pandabeer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/ecd19e/32.png) [@pandabeer](https://www.ruby-forum.com/u/pandabeer)\
**Post date:** [September 30, 2008, 2:37pm UTC](https://www.ruby-forum.com/t/routes-map-and-correct-path/149836/2 "2008-09-30T14:37:38Z")

</div>

On Sep 30, 6:47 pm, Panda B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> end  
> end
> 
> ## Thanks a lot
> 
> Posted viahttp://www.ruby-forum.com/.

Try:

\<% form\_for @app, @user do |f| %\>

Where your controller should look like

def new  
@app = App.find(params[:app\_id])  
@user = User.new  
@user.app\_id = params[:app\_id]  
end

---

<div class="post-metadata">

**Author:** ![pandabeer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/ecd19e/32.png) [@pandabeer](https://www.ruby-forum.com/u/pandabeer)\
**Post date:** [September 30, 2008, 2:38pm UTC](https://www.ruby-forum.com/t/routes-map-and-correct-path/149836/3 "2008-09-30T14:38:49Z")

</div>

On Sep 30, 8:36 pm, Erol F. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> \<% form\_for @app, @user do |f| %\>

Sorry, it should be:

\<% form\_for [@app, @user] do |f| %\>

---

<div class="post-metadata">

**Author:** ![pandabeer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/ecd19e/32.png) [@pandabeer](https://www.ruby-forum.com/u/pandabeer)\
**Post date:** [September 30, 2008, 5:16pm UTC](https://www.ruby-forum.com/t/routes-map-and-correct-path/149836/4 "2008-09-30T17:16:23Z")

</div>

Erol F. wrote:

> On Sep 30, 8:36ï¿½pm, Erol F. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> \<% form\_for [@app, @user] do |f| %\>

Many thanks!
