我想问一下我是否应该在我的控制器中保留空方法(这是一个关于代码风格的问题):
before_action :set_project, only: [:show,:new]
def show
end
def new
end
Run Code Online (Sandbox Code Playgroud)
我应该保持这样或简单地删除节目和新动作
class ProjectController < ApplicationController
before_action :set_project
def index
#indexaction
end
def create
#createaction
end
Run Code Online (Sandbox Code Playgroud)
是否更加偏执?Rails Styleguide并不表示任何溶剂,只有:
def show
end
Run Code Online (Sandbox Code Playgroud)
比...更好
def show; end
Run Code Online (Sandbox Code Playgroud)
如果您没有在这些方法中定义任何数据,则可以将其删除.
Rails自动从路由中的动作名称推断出视图.
如果您没有定义数据(仅在控制器中完成),您可以依赖于view
加载而不执行操作:
你听说过Rails提升了"约定优于配置".默认渲染就是一个很好的例子.默认情况下,Rails中的控制器自动呈现具有与有效路由对应的名称的视图.例如,如果您的
BooksController
班级中有此代码:Run Code Online (Sandbox Code Playgroud)class BooksController < ApplicationController end
以及您的路线文件中的以下内容:
Run Code Online (Sandbox Code Playgroud)resources :books
你有一个视图文件
app/views/books/index.html.erb
:Run Code Online (Sandbox Code Playgroud)<h1>Books are coming soon!</h1>
app/views/books/index.html.erb
当你导航到/ books时,Rails会自动渲染,你会看到"书籍即将推出!" 在你的屏幕上.
好的参考:Rails不需要控制器定义的索引方法吗?
归档时间: |
|
查看次数: |
2401 次 |
最近记录: |