我有两个名为worequest和status的模型。 worequests has_many状态和状态属于worequest。 状态表有一个名为worequest_id的外键。
如果有人正在寻找一个worequest,我想让他们创建一个新的状态记录。
所以,我在worequest show页面上创建了一个按钮。我以为我会将worequest.id保存在这样的全局变量中并链接以创建新的状态记录:
<% $current_request = @worequest.id %>
<%= link_to 'New Status', new_status_path, :class => 'btn btn-primary' %>
然后在新状态页面中,我有以下代码:
<% if $current_request == nil %>
<%= f.input :worequest_id, :label => 'Request ID' %>
<% else %>
<% f.text_field :worequest_id, :value => $current_request %>
<% $current_request = nil %>
<% end %>
但是,状态记录中的worequest.id字段最终为零。 我也尝试过:
<% f.input :worequest_id, :value => $current_request %>
有什么想法吗?
答案 0 :(得分:0)
你应该只使用会话。
session[:worequest_id] = @worequest.id
然后当你到达另一页时,只需调用该值并将其放入。
f.hidden :worequest_id, :value => session[:worequest_id]
答案 1 :(得分:0)
谢谢瑞穗。 我使用了会话的想法:
<%= f.hidden_field :worequest_id, :value => session[:worequest_id] %>
在你发表评论之前,我没有在&lt;%之后的=。一旦我把它放进去,它就有用了。