我在RoR中创建的应用程序有一个模型(Practicetest),它的控制器有标准的CRUD动作,然后是Sat&采取行动。周六&行为动作本质上是练习测试的索引,但如果test_format值设置为“sattest”,则测试将显示在practicetest / sat视图上,如果test_format值设置为“acttest”,则测试将显示在practicetest / act下。在sat和amp;行为页面有一个链接来创建一个新的练习测试,但我试图找到一种方法来设置它,以便sat页面为其test_format分配正在创建的对象的值为“sattest”(和act相同) 。关于如何根据创建来自哪个动作来分配值的任何想法?
谢谢!
答案 0 :(得分:1)
如果我理解这一点,听起来就像是在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 %>