首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 4编辑表单找不到路径

Rails 4编辑表单找不到路径
EN

Stack Overflow用户
提问于 2015-05-28 01:52:33
回答 2查看 129关注 0票数 1

我正在做一个简单的CRUD,我对edit/update有一个问题。我的表单是这样的:

代码语言:javascript
复制
= simple_form_for @receipt do |f|
  = render 'shared/error_messages', object: @receipt
  = f.input :purchase_date, as: :string, input_html: {'data-provide' => 'datepicker'}
  = f.input :amount, as: :string, input_html: {'data-provide' => 'datepicker'}
  = f.association :store

因此,对于新的行动,我的看法是:

代码语言:javascript
复制
h2 Create new receipt
  = render 'form'

我在新的控制器操作中初始化我的@receipt实例变量。但是,当我尝试编辑时,这是编辑视图的内容:

代码语言:javascript
复制
h2 Edit receipt
  = render 'form'

我知道这个错误:

代码语言:javascript
复制
undefined method `receipt_path' for #<#<Class:0x007f943b6f3750>:0x007f943d5ce5d0>

form部分的第一行。我的路线就是这样:

代码语言:javascript
复制
resource :receipts do
    collection do
      get :index
    end
end

奇怪的是,在我没有添加get :index的情况下,索引的路由不会生成,这是我的rake routes的输出,在资源下的集合中有索引:

代码语言:javascript
复制
receipts GET    /receipts(.:format)      receipts#index
              POST   /receipts(.:format)      receipts#create
 new_receipts GET    /receipts/new(.:format)  receipts#new
edit_receipts GET    /receipts/edit(.:format) receipts#edit
              GET    /receipts(.:format)      receipts#show
              PATCH  /receipts(.:format)      receipts#update
              PUT    /receipts(.:format)      receipts#update
              DELETE /receipts(.:format)      receipts#destroy

我的意思是,我可以将url传递给编辑和新表单,这将使它工作,我想。以前是多余的。

我的问题是,我在这里做错了什么,这是我使用rails 4的第一个项目,这是rails 4吗?

更新每个注释的实例变量,而不是使用控制器中的实例变量,而是将新的局部变量传递给部分,如下所示:

代码语言:javascript
复制
= render 'form', object: @receipt

并从偏袒改为:

代码语言:javascript
复制
= simple_form_for object do |f|

仍然得到与实例变量相同的结果。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-29 17:26:18

resource替换为resources并删除get :index。它可能会解决你的问题

票数 1
EN

Stack Overflow用户

发布于 2015-05-28 07:03:32

请将resource :receipts替换为resources :receipts,希望这将解决您的问题。

另外,您不需要添加get "index"操作,因为resources关键字it self提供CRUD操作,如(索引、新的、编辑等)。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30495929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档