加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在Rails中更改scaffold-controller-generator-

发布时间:2020-12-17 03:56:52 所属栏目:百科 来源:网络整理
导读:当我使用Rails脚手架生成器创建我的Rails文件时,它会创建一个控制器文件.例如 铁轨生成脚手架土豆 产生: 应用程序/控制器/ potatos_controller.rb 对于我的项目,我希望这个文件更具体一些.例如.我想更改此自动生成的操作: def create @potato = Potato.new
当我使用Rails脚手架生成器创建我的Rails文件时,它会创建一个控制器文件.例如

铁轨生成脚手架土豆

产生:

应用程序/控制器/ potatos_controller.rb

对于我的项目,我希望这个文件更具体一些.例如.我想更改此自动生成的操作:

def create
  @potato = Potato.new(potato_params)

  respond_to do |format|
    if @potato.save
      format.html { redirect_to @potato,notice: 'Potato was successfully created.' }
      format.json { render :show,status: :created,location: @potato }
    else
      format.html { render :new }
      format.json { render json: @potato.errors,status: :unprocessable_entity }
    end
  end
end

使用I18n翻译而不是硬编码’马铃薯已成功创建’.另外我想改变一些缩进,因为rubocop总是抱怨它.

我找到了脚手架 – 发电机的模板,现在想要进行更改.为此,我在我的项目中创建了一个文件:
LIB /模板/导轨/ scaffold_controller /模板/ controller.rb
在这个文件中,我做了我的更改. (例如我改变了界限

redirect_to @<%= singular_table_name %>,notice: <%= "'#{human_name} was successfully created.'" %>

redirect_to @<%= singular_table_name %>,notice: <%= "'#{human_name} THIS IS A TEST.'" %>

但不幸的是,这些变化无效.脚手架生成器仍然使用自己的模板.那么我在这里做错了什么?我错过了一步吗?

更新:
以下是generate-command的输出:

rails generate scaffold potato      

Running via Spring preloader in process 31479
  invoke  active_record
  ...

  invoke  scaffold_controller
  create    app/controllers/potatos_controller.rb
  ...

铁路的屏幕截图:

Railtiesenter image description here

解决方法

Rails 4显示了正在使用的模板

rails generate scaffold potato
...
invoke  scaffold_controller

您应该在项目中托管修改后的模板,即
LIB /模板/导轨/ scaffold_controller / controller.rb.

请注意,Responders gem可能会更改用于的生成器LIB /模板/导轨/ responders_controller / controller.rb.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读