Ruby on rails 在表单视图中设置符号-Ruby on Rails

Ruby on rails 在表单视图中设置符号-Ruby on Rails,ruby-on-rails,Ruby On Rails,尝试在窗体视图中设置符号值时遇到问题。我的视图使用了两个实例变量,@task和@team,@team是我遇到问题的那个。任务具有需要设置的:团队值。在这个视图中,@team拥有一个值,但当我点击“Create”按钮并发表文章时,@team值丢失,@task不包含任何团队值 以下是我正在处理的观点: 注意:“:team=>@task.team”行不起作用 <% form_for(@task) do |f| %> <%= f.error_messages %> <

尝试在窗体视图中设置符号值时遇到问题。我的视图使用了两个实例变量,@task和@team,@team是我遇到问题的那个。任务具有需要设置的:团队值。在这个视图中,@team拥有一个值,但当我点击“Create”按钮并发表文章时,@team值丢失,@task不包含任何团队值

以下是我正在处理的观点:

注意:“:team=>@task.team”行不起作用

<% form_for(@task) do |f| %>
  <%= f.error_messages %>
  <% @task.team = Team.find(@team) %>
  <p><%= @task.team.title%></p>
  <p>
    <%= f.label :title %><br />
    <%= f.text_field :title %>
  </p>
  <p>
    <%= f.label :hours %><br />
    <%= f.text_field :hours %>
  </p>

  <p>
    <%= f.label :team %><br />
    <% :team => @task.team %>
  </p>
  <p>
    <%= f.submit 'Create'%>
  </p>
<% end %>

为什么不将其设置为隐藏字段

<%= f.hidden_field :team, :value => @task.team %>
@task.team%>

@Jordinl提到可以使用隐藏的表单字段是正确的。您还可以通过执行以下操作,自动将任务范围限定到控制器中的团队

@team = Team.find(params[:team])
然后

@team.tasks << Task.new(params[:task])

为了让它发挥作用。每个任务也需要团队id,但听起来你已经有了。

团队是否应该是一个可以从中选择团队的选择框?您的团队符号将不会超过此页面。我想你需要使用一个表单元素来保存团队的价值,这样它才能到达表单帖子。我试图避免这种情况。我对每个团队都有一个“addtask”,@team实例变量保存调用新任务视图的团队
@team.tasks << Task.new(params[:task])
has_many :tasks