From: Gregor Panek Date: 2010-05-19T19:50:46+09:00 Subject: Re: passing values from partial to controller hi, pass your parameters to your partial like this: <%=render :partial => 'users/grouprow' ,:collection => @groups%> and when you want to call the parameters in your partial, you have to call it by the name of your partial so it will be something like this: grouprow.id grouprow.name Greg > I am trying to pass login and group_name from partial to controller, but > I dont get the values. > > I see the following error: > RuntimeError in UsersController#addfriendtogroups > > Called id for nil, which would mistakenly be 4 -- if you really wanted > the id of nil, use object_id > > I tried in the console, where I get the result. But, in application I > cannot pass the values. > > > > html page > ----------------- > > <% @groups.each do |user| %> > <%= render :partial => 'users/grouprow', :locals => {:user > => user}%> > > <% end %> > > Partial > ----------- > > >
>
> >

> > > <%= link_to user.group_name %> > > > id="edit_group_link"> <%= custom_button('Change') %> > > > >

>
> >
> <% form_tag (:controller => "users" , :action => "addfriendtogroups") > do %> > > Add friend: > <%= text_field_with_auto_complete :user, 'login', {:size => > 20}, {:tokens => ','} %> > > <%= submit_tag "Add to group", :class => > "submit_input_button rounded_corner" %> > <% end %> >
> >
> > > > > > > Controller > ---------------- > > def addfriendtogroups > @f=User.find_by_login(params[:login]).id > @g=Group.find_by_group_name(params[:group_name]).id > > @addfriend=GroupFriend.create(:user_id => current_user.id , > :group_id => @g,:friend_id => @f) > > respond_to do |format| > > if @addfriend.save > > flash[:notice] = "Friend added to group successfully." > format.html {redirect_to :back} > > end > > end > end > -- > Posted via http://www.ruby-forum.com/. >