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