【问题标题】:How to define action with simple form for?如何用简单的形式定义动作?
【发布时间】:2011-09-21 22:46:04
【问题描述】:

我正在尝试在管理员/摄影师控制器中定义“savenew”操作。

我试过这个:

<%= simple_form_for(:photographer_savenew, :action => 'savenew', :id  => params[:id],  :multipart => true ) do |f| %>

但是表单中的action还是:/admin/photographers

应该是什么时候:/admin/photographers/savenew

【问题讨论】:

  • 控制器/路由是否有命名空间?
  • 你的意思是:命名空间 :admin 做资源 :photographers 做收藏 做帖子 :savenew end end end
  • 不,我的意思是this 和/或将ActionController 子类(您的控制器)放入模块中(请参阅here,我找不到我通常引用的链接; 抱歉 :(
  • 是的,我在我的摄影师控制器中创建子类
  • 类 Admin::PhotographersController

标签: ruby-on-rails ruby ruby-on-rails-3 simple-form


【解决方案1】:

您没有为此使用 REST 有什么原因吗?它会让你的生活更轻松,并且需要更少的代码。如果您打算使用此自定义操作,则需要指定 url 和可能的方法:

<%= simple_form_for @photographer, :url => savenew_photographers_path, :method => :post ... # etc

【讨论】:

  • 阅读简单表单文档并不清楚 params simple_form_for 采用了什么。感谢您将它们包括在上面!
  • method: :post 不需要明确定义。似乎 simple_form 假定或默认为 method: :post
猜你喜欢
  • 2013-02-04
  • 1970-01-01
  • 2018-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-26
相关资源
最近更新 更多