java
css
xml
ajax
mysql
regex
visual-studio
multithreading
flash
algorithm
facebook
oracle
delphi
apache
asp
api
jsp
postgresql
dom
The reason your code isn't working now is because of this line:
@group = Group.find_by_name(:group)
it should be something like (I don't remember exactly sorry)
@group = Group.find_by_name(params[:membership][:group])
The error is getting called on the next line because @group is nil.
@group
nil
But you should probably handle that type of logic in the model anyway with a virtual attribute or something.
membership.rb
def group_name if self.group @group_name ||= self.group.name end end def group_name=(group_name) @group_name = group_name self.group = Group.find_by_name(@group_name) end
form
<div class="field"> <%= f.label :group_name, "Group" %><br /> <%= f.text_field :group_name %> </div>
controller
def create @membership = current_user.memberships.build(params[:membership]) if @membership.save flash[:notice] = "You have joined this group." redirect_to :back else flash[:error] = "Unable to join." redirect_to :back end end