hi,
我在使用 simple_form 过程中,我就建了一个最简单的表格,查是报了标题上的错,不知道为什么?
<%= simple_form_for @merchant do |f| %> <%= f.input :name%> <%end%>
我在页面中一运行就报: undefined method `merchants_path' for #<#Class:0x007f9740c9c348:0x007f973df44d78> 这个错误,有人碰到过吗?谢谢!
配置路由。
对一个变量@merchant,simple_form 会使用 merchants_path 这样的路由
resources :merchants
@ruby_sky @suupic @evan 我已经路由中配置过了
namespace :cpanel do # # Directs /admin/products/* to Admin::ProductsController # # (app/controllers/admin/products_controller.rb) resources :merchant root :to => 'merchant#new' end
@cdredfox 你的路由包在 cpanel 里面,试下 simple_form_for [:cpanel, @merchant] , 可以用命令 rake routes 查看你所有的路由
@rociiu 非常谢谢,改成 simple_form_for [:cpanel, @merchant] 之后,确实不报错了,但是有一个很奇怪的问题,为什么我在 new 页面上生面的 form 表单的 action 地址是:/cpanel/merchants 呢?
它自动变成了复数形式? 但我用 rake routes 查看,并没有发现这个地址。
已解决了,貌似是 controller 的名字必须要取成复数形式,simple_form_for 好象自动生成的地址就是复数形式的