【问题标题】:Rails - Dynamic Nested Forms for Only One ElementRails - 只有一个元素的动态嵌套表单
【发布时间】:2013-01-10 11:28:08
【问题描述】:

我要对球队和球员进行模态分析,而且像往常一样,球队有很多球员。

在球队的展示页面中,我正在展示球员等等。 (我遵循 railscasts.com/episodes/196-nested-model-form-part-1 教程。)

我的问题是,当我在球队展示页面点击球员的名字时,我想显示球队的编辑表格,但只有点击球员的数据。 在目前的情况下,我有一个巨大的表格,里面有所有玩家的信息。

如果你能帮助我,那就太好了。

谢谢。

【问题讨论】:

  • 如果不查看给您带来麻烦的相关代码,我们可能无法帮助您。
  • 我的代码与本教程的代码相同:railscasts.com/episodes/… 但在该教程中,所有答案都显示为相应问题。

标签: ruby-on-rails nested-forms rails-models


【解决方案1】:

您可以在团队表单中添加hidden_field,在提交时将player_id 作为参数传递给控制器​​。

然后,您可以在控制器中仅搜索 params[:player_id] 并更改您的视图以显示它。

在您的表单中:

<%= form_for .... do |f| %>
  <%= f.hidden_field 'player_id', value: player.id %>
  ...
<% end %>

在您的控制器中:

if(params[:player_id])
   @information = Information.find_by_user_id(params[:player_id].to_i)
end

最后,在您的视图中,您可以根据需要显示@information 变量。

如果你不想提交给你的控制器写一个javascript程序:

$(document).ready( function () {
   $(".team_form").live("click", function() {
       $(this).attr("player_id").val //holds the player_id
       //load the other form using the player_id
   }
}

【讨论】:

  • 但是当我点击任何玩家时,我并没有提交任何表格。我想打开一个新表单,其中包含点击的玩家信息。
  • 那么,您是否使用 javascript 来执行此操作?如果是,则 $("#form_id").attr("player_id").val 持有 player_id val
猜你喜欢
  • 2023-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多