Passing Values to Controllers
Posted
by
Dru
on Stack Overflow
See other posts from Stack Overflow
or by Dru
Published on 2011-11-24T16:57:21Z
Indexed on
2011/11/24
17:51 UTC
Read the original article
Hit count: 247
I'm trying to allow users to 'favorite' links (that is, create a new Favorite
record with their user_id
and the link_id
) This is what I have so far..
When I click favorite (as a user), the new record is assigned to the user_id but the link_id field is nil. How can I pass the link_id
into my FavoritesController
?
Added Link Model Code
class FavoritesController < ApplicationController
def create
@user = User.find(session[:user_id])
@favorite = @user.favorites.create :link_id => params[:id]
redirect_to :back
end
end
The Favorite
model belongs to :user
and :link
Note: I've also tried this but when I click 'favorite', there's an error "Couldn't find Link without an ID."
Update
<%= link_to "Favorite", :controller => :favorites, :action => :create, :link_id => link.id %>
with
class FavoritesController < ApplicationController
def create
@user = User.find(session[:user_id])
@favorite = @user.favorites.create :link_id => :params[:link_id]
redirect_to :back
end
end
Returns "can't convert Symbol into Integer"
app/controllers/favorites_controller.rb:4:in []
app/controllers/favorites_controller.rb:4:in create
I've tried forcing it into an Integer several ways with .to_i
© Stack Overflow or respective owner