Rails控制器及路由基础

在控制其中指定特定的layout页面
class ExampleController < ApplicationController
    layout 'my_layout' # 将会使用 app/views/layouts/my_layout.html.erb
end
永远不要相信用户提交的数据

我们必须要对用户提交的数据进行过滤

 def article_params
     #我们只提取title,location,excerpt,body,published_at,其他的数据不用处理
      params.require(:article).permit(:title, :location, :excerpt, :body, :published_at) 
 end
在视图中绑定数据
<%= render 'header', :title => 'My Blog' %>

我们在模板中可以这样子使用

 <% title %>
嵌套路由中的表单提交url设置
 form_for([@article, @article.comments.new]) #相当与

 form_for(:comment, @article.comments.new, url: [@article, @article.comments.new])

也可以用下面的方式

form_for(:comment, @article.comments.new, url: article_comments_path(article_id: @article))

更简单直接的方法如下:
:控制器名,:url:xxx_path
<%= form_for :comment, url: article_comments_path(article_id: @article.id) do |f| %>

在模板中使用控制器方法

例如我们在ApplicationController中有一个方法如下

    def current_user
        return unless session[:user_id]
        @current_user ||= User.find_by_id(session[:user_id])
    end

我们就可以在ApplicationController使用下面的方法,使得它可以在模板中使用
helper_method :current_user

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,868评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,019评论 25 708
  • 22年12月更新:个人网站关停,如果仍旧对旧教程有兴趣参考 Github 的markdown内容[https://...
    tangyefei阅读 35,215评论 22 257
  • 屋外,有一颗老树 树上挂着一个鸟笼,华美、精致 一只鸟儿在里面婉转哼唱 渴了,喝点儿水 饿了,吃点儿东西 似是舒适...
    小吖嘛小村姑阅读 193评论 0 0
  • 兩千兩百公里的航線,兩百公裡的高鐵,兩個小時顛簸的公交車,我終於回到生活了二十年的老家,一個依舊嚴格秉承年俗的小鄉...
    墨微阅读 413评论 0 2