我试图在管理员/摄影师控制器中定义"savenew"操作.

我试过:

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

但形式上的动作仍然是:/admin/photographers

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

推荐答案

你不使用REST有什么原因吗?这将使你的生活更加轻松,所需的代码也少得多.如果设置使用此自定义操作,则需要指定url,可能还需要指定方法:

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

Ruby-on-rails相关问答推荐

Gem::Ext::BuildError:ERROR:无法在macOS Monterey上构建Gem本机扩展

Bundler:您必须使用 Bundler 2 或更高版本与此锁定文件

如何为日期时间列设置默认值以记录迁移中的创建时间?

LoadError:无法加载“听”gem(Rails 5)

为什么 Rails 5 使用 ApplicationRecord 而不是 ActiveRecord::Base?

服务器是否在主机“localhost”(::1) 上运行并接受端口 5432 上的 TCP/IP 连接?

在 Rails 的 ActiveRecord 中,touch 有什么用?

Rails 4 中的 null_session 和 reset_session 有什么区别?

ActiveRecord::StatementInvalid: PG InFailedSqlTransaction

部署后如何重启 puma?

Rails 和 jsonb 类型“jsonb”不存在

迁移:t.references 不允许指定索引名称

对象不支持此属性或方法 Rails Windows 64bit

ActiveRecord::Base:Class 的未定义方法 raise_in_transactional_callbacks=' (NoMethodError)

从 Rails 控制台发送邮箱

判断 DateTime 值是今天、明天还是以后

由于 libreadline,rails 控制台无法加载

Rails - 用 2 个字段查找?

当我运行Bundle 安装时,Nokogiri '无法构建 gem 本机扩展'

Rspec 3 如何测试闪存消息