2012-08-20 3 views
0

У меня есть мои сообщения, генерирующие: key_code при создании. Я хочу, чтобы пользователь мог использовать этот код в поле формы, чтобы уничтожить сообщение, которое они сделали, без входа. Моя трудность связана с form_tag ... как я могу сделать вид form_tag, чтобы проверить: key_code, введенный с помощью один хранится в базе данных? Мне сложно понять form_tag.Rails 3: form_tag для проверки кода

Мой маршрут выглядит следующим образом:

get 'posts/:id/code' => 'posts#code', :as => :code 

Любой помощь очень ценится

ответ

1

Если я правильно понимаю, то ваш маршрут не так, как вам нужен динамические параметры code, поэтому вы должны использовать :code вместо просто code:

get 'posts/:id/:code' => 'posts#code', :as => :code 

Чтобы создать URL для этого маршрута в form_tag йо u использование:

form_tag code_path(@post, :code => @post.key_code) 
+0

Спасибо, что ответили. Похоже, что это большая часть проблемы. Что бы вы сделали с необходимым кодом на стороне контроллера? Хранить его в этом «коде» в контроллере сообщений? Кроме того, есть ли у вас какие-то хорошие ресурсы, которые помогли вам понять все эти соглашения, которые вы использовали? – jbearden

+0

Не уверен, что я не могу указать на какие-либо конкретные ресурсы. Что касается элементов контроллера: я бы не создал отдельное действие «code», поскольку у вас уже есть метод «destroy», но я бы изменил способ авторизации пользователя для действия 'destroy', чтобы разрешить аутентификацию с помощью параметра params [: code]' , Таким образом, вы можете уничтожить сообщения с обычным URL-адресом с параметром param: 'DELETE/posts/1? Code = xxx' –

Смежные вопросы