Rails-4.2与多个控制器共享视图

时间:2015-07-13 18:49:41

标签: ruby-on-rails ruby-on-rails-4

我们有一个名为Authorization的模型,它是User和Role的连接表。从用户角度(POV)查看时,授权称为认可。从角色POV看时,它被称为持有者。这些是使用嵌套资源实现的:

  resources( :users ) do
    resources(  :roles,
      :as => 'endorsements',
      :controller => 'endorsements' )
  end

  resources( :roles ) do
    resources( :users,
      :as => 'holders',
      :controller => 'holders' )
  end

我们需要直接维护授权。但我们还需要为特定用户或角色维护它们。我们创建了三个名为authorisations_controller.rb,endorsements_controller.rb和holder_controller.rb的控制器。我们希望这三者都使用相同的views / authorizations / new | edit | show | index页面,因为除了User或Role的过滤器之外,它们本质上是相同的。

但是,当我们从endorsements_controller.rb输入views / authorizations / new.html.erb模板时,提交按钮会使程序控制返回到authorisations_controller而不是调用endorsements_controller。是否有Rails-4习惯用法允许在控制器之间共享视图并返回调用实例?

1 个答案:

答案 0 :(得分:1)

EndorsementSController你可以: 使用redirect_to并设置返回路径和所需的flash消息, 或者使用responders gem,它带有location个参数。 即respond_with user, location: endorsements_path

有关responders的更多信息,请访问: