未定义的方法“ client_path”

时间:2019-03-19 23:56:13

标签: ruby-on-rails coffeescript haml form-for

我的Rails程序中有部分(haml)。在局部中,我试图放置一个form_for块。但是,它给了我undefined method client_path'`

表单如下:

    = simple_form_for current_client, remote: true do |f|
      = f.label 'checkbox'
      = f.check_box :show_help_slide_show, autofocus: true
      = f.submit
我已经检查了

current_client存在,并且是一个客户端对象。

我同时使用了current_client,@ current_client,client和@client。没有工作。 (似乎没有定义客户端)。

从我的尝试中可以看到,我是一个相当新手的Ruby程序员(但是非常有经验),我不明白我猜想如何在ruby程序中传递数据。

1 个答案:

答案 0 :(得分:0)

您将对象current_client传递给 simple_form 。 因此,它将使用该对象的名称约定来推断路由,该路由将成为client_path,就像对current_user而言是user_path一样。

此路线是否存在? 如果不是,则为另一个,您需要为simple_form提供要提交的表单的URL:

= simple_form_for current_client, url: loremipsum_path, remote: true do |f| 

在Ruby on Rails中,所有内容均基于约定。主要是命名约定。这就是ORM的工作方式,而且还有路由,控制器/视图链接等。 如果您不提供选择,则助手/引擎/库将根据他们手头的名称进行推断。