【问题标题】:Creating a second form page for a has_many relationship为 has_many 关系创建第二个表单页面
【发布时间】:2010-04-18 10:13:13
【问题描述】:

我有一个组织模型,它通过隶属关系拥有_many 用户。

并且,在组织形式(标准编辑)中,我使用 semanting_form_for 和 semantic_fields_for 来显示组织字段和隶属关系字段。

但我希望创建一个单独的表单来处理特定组织的从属关系。我试图去组织控制器并创建一个 edit_team 和 update_team 方法,然后在路由上创建这些页面,但它变得一团糟并且无法正常工作。

我走对了吗?

【问题讨论】:

    标签: ruby-on-rails forms formtastic


    【解决方案1】:

    是的,您应该在控制器中创建 edit_team 和 update_team 方法并将它们添加到 routes.rb 中

    #organizations_controller
    def edit_team
      @organization = Organization.find(params[:id])
      @team = @organization.affiliations
    end
    
    def update_team
      # updating affiliations
    end
    
    #routes.rb
    map.resources :organizations, :member => { :edit_team => :get, :update_team => :put }
    

    这就足够了。所以显示错误为什么它不起作用。

    【讨论】:

    • 我在提交表单时遇到问题。我有这条路线 update_team_organization PUT /organizations/:id/update_team(.:format) {:controller=>"organizations", :action=>"update_team"} 我的表格以: 提交按钮应该调用组织控制器中的操作 update_team,但我得到这个错误:(见下面的评论)
    • ActionController::UnknownAction (没有响应 1 的操作。操作:create、current_user、current_user_session、destroy、edit、edit_team、index、logged_in?、login_required、new、redirect_to_target_or_default、show、update 和 update_team ):浏览器中的url是:localhost:3000/organizations/1/edit_team所以他指的是ID而不是action,应该是update_team。
    • 修复了这个问题: { :action => "update_team" } do |f| %>
    猜你喜欢
    • 1970-01-01
    • 2015-09-21
    • 2014-07-13
    • 1970-01-01
    • 2011-10-19
    • 1970-01-01
    • 2013-01-10
    • 2021-09-24
    • 1970-01-01
    相关资源
    最近更新 更多