Rails (новичок) - Как сохранить переменную токена в ссылке в db при создании действия - PullRequest
1 голос
/ 23 февраля 2011

У меня проблема с действием создания, и я не понимаю, почему я здесь не прав.

Пользователи могут перейти по ссылке, содержащей переменную токена.Вот мой маршрут.

rout.rb

match "/:token" => "invitations#new", :via => :get

В действии создания я хочу сохранить токен в экземпляре sender_token в моей базе данных.это:

контроллер приглашения

  def new
    @invitation = Invitation.new
  end

  def create
    @invitation = Invitation.new(params[:invitation])
    if @invitation.save

      # here the pb ???     
      @invitation.sender_token = :token

      session[:invitation] = @invitation
      Mailer.invitation(@invitation).deliver
      redirect_to invite_request_path
    else
      render :action => 'new'
    end
  end

Спасибо!

Ответы [ 2 ]

1 голос
/ 23 февраля 2011

Разве это не должно быть

@invitation.sender_token = params[:token]
0 голосов
/ 24 февраля 2011

Я нашел это решение. Пожалуйста, дайте мне знать, если вы считаете, что это правильный путь!

def new
  @invitation = Invitation.new
  session[:token] = params[:token]       # or $test = params[:token] ???
end

def create
  @invitation = Invitation.new(params[:invitation])
  @invitation.sender_token = session[:token]      # or @invitation.sender_id = $test ???
    if @invitation.save
      session[:invitation] = @invitation
      Mailer.invitation(@invitation).deliver
      redirect_to invite_request_path
    else
      render :action => 'new'
    end
 end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...