`
yang_kunlun
  • 浏览: 77645 次
  • 性别: Icon_minigender_1
  • 来自: 地球
最近访客 更多访客>>
社区版块
存档分类
最新评论

Rails view

    博客分类:
  • ROR
阅读更多
从文本字段读取数据
输入视图:
<form action = "\look\at">
...
  <input type="text" name="text1">
...
</form>
动作:
def at
  @date = params[:text1]
end
输出视图:
<br>
Your Name is <% = @date %>
</br>

从复选框读取数据
输入视图:
<form action = "\look\at">
..
  <input type="checkbox" name="check1">
..
</form>
动作:
def at
  @date = params[:check1]
end
输出视图:
    <br>
    <% if @data %>
    You clicked yes.
    <% else %>
    You did not click yes.
    <% end %>
    <br>

从单选按钮中读取数据
输入视图:
<form action="\look\at">
...
  <input type="radio" name="radio1" value="red">red
  <input type="radio" name="radio1" value="blue">blue
  <input type="radio" name="radio1" value="green">green
...
</fomr>
动作:
  def at
    @data = params[:radios1]
  end
输出视图:
    <br>
    You selected <%= @data %>.
    <br>

从选择框读取数据
输入视图:
    <form action = "\look\at">
      Select your new car's color.
      <br>
      <select name="select1" >
        <option value="red">red
        <option value="green">green
        <option value="blue">blue
      </select>
      <br>
      <br>
      <input type="submit"/>
    </form>
动作:
  def at
    @data = params[:select1]
  end
输出视图:
<br>
Your Select <% = @date %>
</br>

从选择框读取多个选择
输入视图:
    <form action = "\look\at">
      Select your new car's color.
      <br>
      <select name="select1[]" multiple size="3">
        <option value="red">red
        <option value="green">green
        <option value="blue">blue
      </select>
      <br>
      <br>
      <input type="submit"/>
    </form>
动作相同
输出视图:
    <br>
    You selected <% for data in @data %>
    <%= data %>
    <% end %>
    <br>

Rails中使用HTML的快捷方法
输入视图:
    <%= start_form_tag ({:action => "at"}, {:method => "post"}) %>
      Please enter your name.
      <br>
      <%= text_field_tag ("text1", "", {"size" => 30}) %>
      <br>
      <br>
      <input type="submit"/>
    <%= end_form_tag %>
动作:
  def at
    @data = params[:text1]
  end
  def input
  end
新增加了一个input方法,所以上面的视图是保存在以.rhtml结尾的文件中
输出视图:
    <br>
    Your name is <%= @data %>.
    <br>
给start_form_tag 方法传递了一个指定动作的散列表,以及一个可选的散列表选项--有两个选项:"method"可以是"get"或"post", ":multipart"可以是"true"或"false"
使用text_field_tag 方法创建文本字段,需要将文本字段的名称,在文本字段中显示的初始文本以及一个可选的用于设置标准HTML选项--:disable,:maxsize或:size--的散列表传递给这个方法
创建复选框用check_box_tag方法,创建单选按钮使用radio_button_tag方法。
创建check_box:
    <%= start_form_tag ({:action => "at"}, {:method => "post"}) %>
      Would you like a raise?
      <br>
      <br>
      <%= check_box_tag ("check1", "Yes", false) %>Yes
      <br>
      <br>
      <input type="submit"/>
    <%= end_form_tag %>
创建select:
    <%= start_form_tag ({:action => "at"}, {:method => "post"}) %>
      Select your new car's color.
      <br>
      <br>
      <%= select_tag ("select1[]", "<option value='red'>red<option value='green'>green<option
value='blue'>blue", {:multiple => true}) %>
      <br>
      <br>
      <input type="submit"/>
    <%= end_form_tag %>

使用模型:
只需要在应用程序的module目录下放置一个.rb文件就能创建模型。
使用模型:在动作中创建一个模型的对象,使用这个对象的方法。
模型的代码:
class Cruncher
  def crunch
    return 5
  end
end
使用模型:
  def at
    @cruncher = Cruncher.new
    @data = @cruncher.crunch
  end

绑定控件和模型
rails支持一系列方法--text_field,select,check_box,可以使用这些方法直接将HTML控件连接到模型。
text_field(object_name, method, {...})
object_name是模型对象的名字,method是需要与之绑定的控件的数据访问器名称,{...}是一个包含有这个文本字段的HTML设置的散列表,如{"size" => 30}
模型:
class Cruncher
  attr_reader :crunch
  attr_writer :crunch
  def initialize(data)
    @crunch = data
  end
end
动作:
  def at
    @data_hash = params[:cruncher]
    @cruncher = Cruncher.new(@data_hash[:crunch])
    @data = @cruncher.crunch
  end
  def input
  end
输入视图:
    <%= start_form_tag ({:action => "at"}, {:method => "post"}) %>
      Please enter your name.
      <br>
      <%= text_field ("cruncher", "crunch", {"size" => 30}) %>
      <br>
      <br>
      <input type="submit"/>
    <%= end_form_tag %>
输出视图:
    <br>
    Your name is <%= @data %>.
    <br>
在视图中使用cruncher对象将文本字符中的数据绑定到这个crunch属性。
文本字符中的数据会在以:cruncher为参数的散列表中传回。
初始化控件中的数据
只需要在动作中,修改input动作:
  def input
    @cuncher = Cruncher.crunch
  end

存储会话中的数据
  session[:data] = @data
分享到:
评论

相关推荐

    Maintainable Rails View

    本篇文章将根据“Maintainable Rails View”演讲资料,深入探讨如何通过一系列的最佳实践来优化 Rails 觔图代码,确保其具备良好的可读性、灵活性、高效性、可维护性以及一致性。 #### 概念:什么是好的视图? 好...

    Rails 101 入门电子书

    - **作品**: 除了《Rails 101 入门电子书》外,xdite还编写了其他几本书籍,如《Maintainable Rails View》、《Lean SaaS》以及《Land Dream Rails Job》等。 - **特色**: 这本书是中文世界唯一一本基于Rails 4.0.0+...

    Rails项目源代码

    Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...

    rails2-sample

    此外,Rails还内置了许多实用功能,如ActiveRecord(用于数据库交互)、Action View(用于页面渲染)和Action Controller(用于处理用户请求),这些都使得开发者能够快速构建出功能丰富的Web应用程序。 #### 2. ...

    Rails

    4. **Action View**:用于生成HTTP响应的视图层,可以使用ERB(嵌入式Ruby)或其他模板引擎来创建HTML输出。 5. **路由**:Rails的路由系统将URL映射到控制器的行动上,提供了一种灵活的方式来定义和管理应用的路由...

    rails指南 中文版

    Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,强调“约定优于配置”(Conventions over Configuration)和“Don't Repeat Yourself”(DRY,不要...

    rails2.3.2

    Ruby on Rails(通常简称为 Rails)是一个基于 Ruby 语言的开源 Web 应用程序框架,它遵循 Model-View-Controller (MVC) 设计模式,用于构建数据库驱动的 Web 应用程序。Rails 强调“约定优于配置”(Convention ...

    FusionCharts_RoR

    5. **整合到Rails View**:在Rails的视图模板中,你需要嵌入Flash对象和相关的JavaScript代码,以显示图表。这通常涉及HTML和JavaScript的混合使用,确保Flash组件能正确加载并渲染数据。 6. **测试和优化**:最后...

    中文版rails教程

    在Ruby on Rails中,开发者可以快速构建功能丰富的动态网站,因为它提供了大量的内置功能和库,如数据库连接、ORM(对象关系映射)系统ActiveRecord、模板引擎ActionView以及路由系统ActionController等。...

    Rails相关电子书汇总

    3. **ActionView**:负责生成HTML或其他类型的响应,通常与模板系统一起工作,将数据以用户友好的格式展示出来。 4. **路由(Routes)**:Rails的路由系统将URL请求映射到特定的控制器动作,实现了URL和应用逻辑...

    Ruby on Rails入门例子

    Ruby on Rails,简称Rails,是一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在使Web开发过程更加高效、简洁。本篇将通过一个入门实例,深入探讨Rails的基本概念和核心...

    提升Ruby on Rails性能的几个解决方案

    简介 Ruby On Rails 框架自它提出之日...Rails 是一个真正彻底的 MVC(Model-View-Controller) 框架,Rails 清楚地将你的模型的代码与你的控制器的应用逻辑从 View 代码中分离出来。Rails 开发人员很少或者可能从未遇到

    Rails3常用命令行命令

    Rails的scaffold命令是一个强大的工具,可以快速生成一套完整的CRUD(Create, Read, Update, Delete)界面,包括Model、View和Controller。例如,创建一个名为Person的资源: ```bash rails g scaffold person name...

    Ruby on Rails实践

    在Ruby on Rails实践中,我们首先会接触到MVC(Model-View-Controller)架构模式。Model代表数据模型,负责业务逻辑和数据库交互;View负责展示数据,通常由HTML、CSS和JavaScript组成;Controller处理用户请求,并...

    Rails 3 in Action

    3. **MVC架构**:Rails采用Model-View-Controller架构,书中详细解释了模型(Model)、视图(View)和控制器(Controller)之间的交互与职责。 4. **路由**:Rails的路由系统允许灵活地定义URL到控制器动作的映射,...

    rails 项目起步示例

    Rails是Ruby语言的一个著名Web开发框架,全称为Ruby on Rails,它遵循MVC(Model-View-Controller)架构模式,旨在提高开发效率和代码可读性。本示例"rails项目起步示例"是一个购物系统,非常适合初学者入门学习。 ...

    rails敏捷开发的购物车系统

    模型(Model)负责处理业务逻辑和数据存储,视图(View)用于展示用户界面,而控制器(Controller)作为模型和视图之间的桥梁,处理用户输入并协调二者之间的交互。在购物车系统中,模型可能包括商品、购物车、订单...

    Ruby+for+Rails

    Ruby on Rails(简称Rails)是基于Ruby语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式,旨在提高开发效率和代码可读性。 1. **Ruby的安装** 在不同的操作系统上,安装Ruby的方式有所不同。在...

    Rails 101S

    - **MVC架构与RESTful概念**:介绍模型(Model)、视图(View)、控制器(Controller)三者之间的关系以及RESTful API的设计原则。 - **深入解析Controller & Model**:进一步探讨Controller和Model的工作原理,理解如何...

Global site tag (gtag.js) - Google Analytics