Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 铁路线路故障_Ruby On Rails_Ruby On Rails 3_Routing - Fatal编程技术网

Ruby on rails 铁路线路故障

Ruby on rails 铁路线路故障,ruby-on-rails,ruby-on-rails-3,routing,Ruby On Rails,Ruby On Rails 3,Routing,据 耙道 我有这样的路线 类型\模型获取/类型/模型(:格式)类型\模型 我有这样的方法: def model @models = Model.find(:all, :conditions => { :MOD_MFA_ID => params[:model]}) end 这种观点: - @manufacturers.each do |manufacturer| %li = link_to manufacturer.MFA_BRAND, :cont

耙道

我有这样的路线

类型\模型获取/类型/模型(:格式)类型\模型

我有这样的方法:

def model
  @models = Model.find(:all, :conditions => { :MOD_MFA_ID => params[:model]})
end
这种观点:

- @manufacturers.each do |manufacturer|
    %li      
      = link_to manufacturer.MFA_BRAND, :controller => "types", :method => "model", :model => "111"
但我如何使用link向方法“model”发送参数呢?例如:localhost/types/model/111
? 那么rails服务器工作正常吗?(现在它告诉我我没有这样的路由)

考虑将模型方法命名为“show”,URL将是/types/111。这将使您的代码RESTful

考虑将模型方法命名为“show”,URL将为/types/111。这将使您的代码具有RESTful功能,如果您需要将方法保留到路由中,请添加此功能

match "/types/model/:model" => "types#model"

如果需要将方法保留到路由,请添加此选项

match "/types/model/:model" => "types#model"

有几种可能性,最重要的是将应用程序保持在RESTful干净的模型中(这将为您节省大量时间)

首先,您应该正确定义您的模型:

    你认为这是一种不同的模型吗?<李> 你认为模型是在“目录”下的吗? 你认为模型是一个类型对象的函数吗? 你认为模型是类型对象的全局函数吗?
模型作为类型的嵌套资源 在这种情况下,您认为类型实例有多个模型实例(比如公司可以拥有用户)。所以您应该有两个restful控制器:一个用于模型,一个用于类型

您可以这样定义此类路由:

resources :types do
   resources :models
end
当转到类型id为14、id为1的/types/14/model/1时,将调用模型控制器中的RESTful方法

关于你的问题,我认为这是最干净的方式

命名空间中的模型类型 在这种情况下,模型方法将包含在类型名称空间中,但控制器仅用于处理模型对象

namespace :types do
  resources :models
end
它将允许您调用/types/models/1以调用模型控制器的显示功能

将方法建模为类型实例的方法 在这种情况下,模型方法是类型实例的函数:

resources :types do
   member do
      :model
   end
end
当请求id=42的/types/42/model时,将调用类型控制器的方法函数

模型方法作为类型的全局方法 在本例中,模型方法是全局类型类的全局方法

resources :types do
   collection do
      :model
   end
end
在这种情况下,当请求/types/model时,将调用类型控制器的model方法


所有这些都已解释。

有几种可能性,最重要的是将应用程序保持在一个RESTful干净的模型中(这将为您节省大量时间)

首先,您应该正确定义您的模型:

    你认为这是一种不同的模型吗?<李> 你认为模型是在“目录”下的吗? 你认为模型是一个类型对象的函数吗? 你认为模型是类型对象的全局函数吗?
模型作为类型的嵌套资源 在这种情况下,您认为类型实例有多个模型实例(比如公司可以拥有用户)。所以您应该有两个restful控制器:一个用于模型,一个用于类型

您可以这样定义此类路由:

resources :types do
   resources :models
end
当转到类型id为14、id为1的/types/14/model/1时,将调用模型控制器中的RESTful方法

关于你的问题,我认为这是最干净的方式

命名空间中的模型类型 在这种情况下,模型方法将包含在类型名称空间中,但控制器仅用于处理模型对象

namespace :types do
  resources :models
end
它将允许您调用/types/models/1以调用模型控制器的显示功能

将方法建模为类型实例的方法 在这种情况下,模型方法是类型实例的函数:

resources :types do
   member do
      :model
   end
end
当请求id=42的/types/42/model时,将调用类型控制器的方法函数

模型方法作为类型的全局方法 在本例中,模型方法是全局类型类的全局方法

resources :types do
   collection do
      :model
   end
end
在这种情况下,当请求/types/model时,将调用类型控制器的model方法


所有这些都解释清楚了。

…而且它还将使它遵循Rails惯例,这将为您节省很多麻烦,除非您有很好的理由创建一个超出标准的自定义命名操作:索引、显示、新建、创建、编辑、更新和销毁。我有一个理由,url可以是类型/模型?blabla或其他,只是如何得到的方法!我的类型控制器有三种方法:制造商、型号、类型。按照逻辑,制造商有很多型号,型号有很多类型。是在一个控制器中编写这种方法更好,还是在三个控制器中分别编写一种方法更好?根据您的回答,我需要支架,并且有路由。。。因为我也需要路线!你没有回答这个主题…这也会使它遵循Rails惯例,这将为你节省很多麻烦,除非你有很好的理由创建一个超出标准的自定义命名操作:索引、显示、新建、创建、编辑、更新和销毁。我有一个理由,url可以是类型/模型?等等,或者其他,只是如何得到的方法!我的类型控制器有三种方法:制造商、型号、类型。按照逻辑,制造商有很多型号,型号有很多类型。是在一个控制器中编写这种方法更好,还是在三个控制器中分别编写一种方法更好?根据您的回答,我需要支架,并且有路由。。。因为我也需要路线!您没有回答“我的类型控制器有三种方法:制造商、型号、类型”。按照逻辑,制造商有很多型号,型号有很多类型。是在一个控制器中编写此方法更好,还是在三个控制器中分别编写一个方法更好?如果逻辑已经存在