Как присвоить объекту значение в зависимости от того, откуда поступил запрос - PullRequest
0 голосов
/ 19 декабря 2009

Приложение, которое я создаю в RoR, имеет модель (Practicetest), а его контроллер имеет стандартные действия CRUD, а затем действие Sat & Act. Действия Sat & Act по сути являются индексом практических тестов, но если значение test_format установлено в «sattest», то тест отображается в представлении Practicetest / Sat, а если значение test_format установлено в «acttest», тогда тест отображается practicetest / акт. На обеих страницах sat & act есть ссылка для создания нового практического теста, но я пытаюсь найти способ настроить его так, чтобы страница sat присваивала создаваемому объекту значение «sattest» для его test_format (и то же самое для акта). Любые идеи о том, как я могу назначить значение в зависимости от того, из какого действия произошло создание?

Спасибо!

1 Ответ

1 голос
/ 19 декабря 2009

Если я правильно понимаю, это звучит так, как будто вы отображаете новую тестовую форму на страницах sat и act. Если вы используете form_for (что, я надеюсь, так и есть), просто присвойте объекту test_format перед рендерингом формы и включите скрытое поле, чтобы значение передавалось с запросом POST, так что это будет что-то вроде этого :

<!-- this can be done in the controller or template -->
<% @test = Test.new %>

<!-- assign test_format value -->
<% @test.test_format = "sattest" %>

<% form_for @test do |f| %>
  ...
  <%= f.hidden_field :test_format %>
  ...
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...