Ruby on rails 我的控制器-Rails4中的操作在哪里

Ruby on rails 我的控制器-Rails4中的操作在哪里,ruby-on-rails,controller,action,Ruby On Rails,Controller,Action,我不知道我的控制器文件中的操作在哪里。内容如下: class MarcasController < InheritedResources::Base private def marca_params params.require(:marca).permit(:nombre, :comentarios) end end class MarcasController

我不知道我的控制器文件中的操作在哪里。内容如下:

class MarcasController < InheritedResources::Base

  private

def marca_params
  params.require(:marca).permit(:nombre, :comentarios)
end
end
class MarcasController

发生了什么事?

这些操作是由继承的资源gem隐式添加的。这大概是你正在处理的其他人的代码吧?

MarcasController
是你的控制器,
marca_params
是您的行动。但是它是私有的,所以路由器不能访问它

如果您希望您的操作可以从网站访问,则需要执行以下操作:

创建公共行动

class MarcasController < InheritedResources::Base

def index
end


  private

def marca_params
  params.require(:marca).permit(:nombre, :comentarios)
end
end
创建相应的视图,添加文件
app/views/marcas/index.html.erb

然后您将能够访问您的操作

通常,如果您需要需要CRUD操作(创建、读取、更新和删除)的控制器。您可以运行rails命令来创建所需的所有文件

rails generate scaffold marcas nombre:text comentarios:text

控制器操作是表示“响应http请求的方法”的另一种方式。它们在路由文件中定义如下:

post   'marcas/',           :to => 'marcas#create'
他们通常在观点或请求中这样说。所以

class MarcasController < InheritedResources::Base

  # create action
  def create
    @marca = @marcas.create(marcas_params)
  end

  private # good for strong params and other private methods
  def marca_params
    params.require(:marca).permit(:nombre, :comentarios)
  end

end
class MarcasController
如何编辑它们???。谢谢
class MarcasController < InheritedResources::Base

  # create action
  def create
    @marca = @marcas.create(marcas_params)
  end

  private # good for strong params and other private methods
  def marca_params
    params.require(:marca).permit(:nombre, :comentarios)
  end

end