Случайный URL для действия обновления в конечном автомате, таком как приложение Rails - PullRequest
1 голос
/ 23 января 2011

Я разрабатываю приложение, очень похожее на конечный автомат.

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

Я определил функцию «unique_token» в моей модели, поэтому при создании и обновлении человека назначается новая уникальная строка.

Позже я определил «/: unique_token» в моих маршрутах длядействия "edit" и "update".

Позже, в моем контроллере для "edit" и "udpate" я определил:

@ person = Person.find_by_unique_token (params [:unique_token])

НО!

Я получаю сообщение об ошибке, потому что действие обновления все еще пытается найти идентификатор.

Как мне переопределить это?

Есть лучший подход для этого?

Спасибо.

1 Ответ

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

вау, просто как:

class PeopleController < ApplicationController

  before_filter :authenticate_unique_token, :only => [:edit]

  def authenticate_unique_token
    person = Person.find_by_unique_token(params[:unique_token])
    if person.blank? || person.id != params[:id].to_i
      raise "whatever"
    end
  end

я надеюсь, что это может кому-нибудь помочь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...