2010-10-14 1 views
0

Я не уверен, что я собираюсь сделать это правильно или нет.Rails пользовательских действий

У меня есть модель окрестности. У меня есть два способа, которыми вы можете добавить соседство: одно как зарегистрированный пользователь, а другое как публичный человек. Формы немного меняются. Поэтому я сделал другое представление с помощью специального действия. Проблема заключается в том, что это действие добавляет новую запись и поэтому вызывает «create». Когда он вызывает действие create, он пытается перенаправить на путь, который не может существовать в общедоступной форме.

Либо я делаю это совершенно неправильно, либо есть способ сообщить свое собственное действие, чтобы сохранить запись о соседстве, чтобы я мог перенаправить с публичной стороны.

ответ

0

В create действия, условно перенаправлять либо государственные/частные страницы в зависимости от статуса пользователя:

def create 
    # create code goes here 
    if current_user? 
    redirect_to neighborhoods_path 
    else 
    redirect_to root_path 
    end 
end 

Или есть что-то, что я не понимая, из вашего вопроса?

+0

спасибо много Райана это именно то дополнительные указания, что нужно. ценить это. – looloobs

0

Я думаю, что вы сохраняете как (общедоступные, так и зарегистрированные пользователи), сведения о соседстве добавляются к тем же деталям. вы можете различить это, имея идентификатор пользователя или что-то.

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

идентифицировать пользователя как is_registred? (При условии, что у вас есть метод, чтобы определить, если использование регистрируется или нет) и в соответствии со схемой нагрузки, задаваемой пользователем только

Ex:

псевдо-код будет

if is_registred? 
    render public layout 
else 
    render registerd user layout 

и вы, возможно, для проверки разрешений. Надеюсь, что я понял ваш вопрос

ура

Sameera