`

Rails之生成表单

 
阅读更多

1, Dealing with Basic Forms

<%= form_tag({:controller=>"cname", :action=>"aname"},{:id=>"iname", :class=>"cstyle", :name=>"fname"}) do %>
 <%= text_field_tag :name, nil, :class=>"class1" %>
 <%= password_field_tag :password %>
 <%= submit_tag("Login",{:name=>"mysubmit"}) %>
<% end %> #注意不是<%= end %>

代码生成如下

<form accept-charset="UTF-8" action="/cname/aname" class="cstyle" id="iname" method="post" name="fname">
 <input class="class1" id="name" name="name" type="text" />
 <input id="password" name="password" type="password" />
 <input name="mysubmit" type="submit" value="Login" />
<form>

 controller中用params[:name]和params[:password]获取数据


2, Dealing with Model Objects

<%= form_for @user, :url => url_for(:controller => 'kangli', :action => "login"), :html => {:class => "cstyle", :name => "nname", :id => "iname"}  do |f| %>
 <%= f.text_field :name, :id=>"name" %>
 <%= f.password_field :password, :class=>"class1" %>
 <%= f.submit "login", :class => "class1" %>
<% end %>

代码生成如下

<form accept-charset="UTF-8" action="/kangli/login" class="cstyle" id="iname" method="post" name="nname">
 <input id="name" name="user[name]" size="30" type="text" /> 
 <input class="class1" id="user_password" name="user[password]" size="30" type="password" />
 <input class="class1" name="commit" type="submit" value="login" />
</form>

 controller中用params[:user][:name]和params[:user][:password]获取数据

 

表单提交的验证可以通过在model里面配置,不过个人觉得用coffeescript或者jquery都是很方便实现的

方法一——coffeescript,编辑assets/javascript目录的对应文件,添加如下代码,注意不要用tab而是空格来缩进

$(document).ready ->
    $('#iname').submit ->
        if $('#user_name').val() == '' or $('#user_password').val() == ''
            alert "name or password should not be true"
            $('#user_name').focus()
            return false
        else
            return true

 rails会在加载页面时将上面的代码转换为如下的javascript代码

(function() {
  $(document).ready(function() {
    return $('#iname').submit(function() {
      if ($('#user_name').val() === '' || $('#user_password').val() === '') {
        alert("name or password should not be true");
        return false;
      } else {
        return true;
      }
    });
  });

}).call(this);

方法二——jquery,编辑view文件添加javascript

<script type="text/javascript">
	$(document).ready(function(){
		$("#iname").submit(function(){
			if ($("#user_name").val() == "" || $("#user_password").val() == ""){
				alert("name or password should not be null");
				$("user_name").focus();
				return false;
			}
		})
	});
</script>

 

分享到:
评论

相关推荐

    Ruby-SimpleForm轻松处理Rails表单

    在Ruby on Rails框架中,构建表单是一项常见的任务,而Simple Form gem就是为了简化这一过程而设计的。Simple Form是一款强大的表单构建器,它提供了一种简洁、直观的方式来创建复杂的表单,使得开发者能更专注于...

    rails2-sample

    同时,表单是Web应用中不可或缺的部分,Rails提供了丰富的API来处理表单的创建和验证。此外,布局(Layouts)允许开发者在多个页面中重用公共的HTML代码,如头部和尾部,从而提高开发效率。 #### 7. Ajax and Web ...

    Ruby-RailsBootstrapFormsrails的Bootstrap3风格表单生成器

    `Rails Bootstrap Forms` 是一个方便的工具,它为Rails应用提供了将Twitter Bootstrap 3样式轻松集成到表单生成中的功能。 Twitter Bootstrap 是一个流行的前端开发框架,它包含了一系列CSS和JavaScript组件,用于...

    simple_form:简化Rails的表单! 它与简单的DSL绑定,对标记无意见

    Rails表单变得容易。 简单表单旨在在帮助您使用功能强大的组件创建表单的同时尽可能地灵活。 Simple Form的基本目标是不触及定义布局的方式,而是让您为眼睛找到更好的设计。 大多数DSL都是从Formtastic继承的,...

    bootstrap_form:bootstrap_form gem的官方存储库,这是一个Rails表单生成器,可以使使用Bootstrap 4创建外观精美的表单变得非常容易

    请注意,这适用于Rails生成的验证消息。 开箱即用HTML 5客户端验证和Rails验证不能很好地协同工作。 是对挑战的讨论和一些解决方案 在必填字段上自动。 一种在字段上始终显示文本的简便方法。 如果需要的话,可以...

    Ruby on Rails 指南 v5.0.1 中文版

    - **处理模型对象**:展示如何与模型对象交互,自动生成表单元素。 - **快速创建选择列表**:指导如何使用辅助方法快速生成下拉列表等控件。 - **使用日期和时间的表单辅助方法**:说明如何处理日期和时间相关的表单...

    Ruby on Rails实践

    此外,Rails的辅助方法如`link_to`和`form_for`,简化了视图中的链接和表单生成。 测试驱动开发(TDD)在Rails中被广泛采用。Rails内置了Test::Unit和RSpec等测试框架,开发者可以通过编写测试先于代码来确保程序的...

    bootstrap_form gem的官方存储库,这是一个Rails表单生成器,可以使使用Bootstrap 4创建外观精美的表单变得非常容易-Ruby开发

    documentation本文档适用于master分支,该分支尚未稳定,并且针对Bootstrap v4。 如果您使用的是Bootstrap v3,请参阅稳定的legacy-2.7分支。...bootstrap_forms的表单助手会生成form字段及其标签以及所有Bootstrap m

    rails-1.0.0

    7. **辅助方法**:Rails提供了许多辅助方法,如link_to、form_for等,帮助开发者快速构建链接和表单,减少了代码量。 8. **脚手架**:Rails的scaffold命令可以自动生成基本的CRUD(创建、读取、更新、删除)功能,...

    ruby on rails 101

    ”这句话生动地描述了Ruby on Rails的独特之处以及它在Web开发领域的影响力。 #### 二、安装 安装Ruby on Rails的方法多样,具体包括: - **InstantRails**:适用于Windows用户的单击安装包。 - **Locomotive**:...

    ruby_on_rails 源代码上

    Rails还提供了辅助方法,如链接生成、表单构建等,以简化视图代码。 6. **控制器** 控制器是MVC架构中的中枢,处理HTTP请求并调用模型进行业务处理。它负责填充视图的数据,并决定应重定向到哪个视图。Rails中的...

    simple_form_bootstrap3:带有 simple_form 和 bootstrap3 的 Rails 表单生成器

    带有 simple_form 和 bootstrap3 的 Rails 表单生成器 安装 将此行添加到应用程序的 Gemfile 中: gem 'simple_form_bootstrap3' 或这一行: gem 'simple_form_bootstrap3', git: '...

    RestFul_Rails_Dev_pdf_v_0.1.zip

    例如,`form_for`辅助方法可以轻松创建用于创建和更新资源的表单,而`link_to`则用于生成链接,确保HTTP方法正确。 此外,Rails的ActiveRecord模型提供了强大的关联(Associations)功能,如has_many、belongs_to等...

    RailsGuides中那个blog程序源码

    **视图(View)** 是用户看到和与之交互的部分。在blog应用中,视图可能包括展示文章列表、显示单篇文章详情、以及编辑和创建新文章的表单。Rails的 erb(Embedded Ruby)模板引擎允许开发者在HTML中嵌入Ruby代码,...

    基于ruby on rails开发示例源码

    通过分析这个源码,你可以学习如何使用Rails创建控制器、模型和视图,如何定义路由,如何处理表单提交,如何使用ActiveRecord进行数据库操作,以及如何编写测试确保代码质量。此外,你还可以了解Rails的自动化工具,...

    comfy-bootstrap-form:实际起作用的Bootstrap 4标记的Rails表单生成器!

    ComfyBootstrapForm bootstrap_form是一个Rails表单构建器,可以非常轻松地将表单集成到您的Rails应用程序中。要求Rails 5.0+ Bootstrap 4.0.0+安装将gem添加到您的Gemfile中并运行bundle install gem "comfy_...

    form_core:提供生成动态表单功能的Rails引擎

    提供生成动态表单的功能的Rails引擎。 要求 0.1分支 核磁共振2.5+ Rails 6.0+ 0.0.1分支 核磁共振2.3+ Rails 5.0+ 用法 现在看演示。 安装 将此行添加到您的Gemfile中: gem 'form_core' 或者您可能想直接从...

    Ruby on Rails程序设计深入剖析与范例应用

    第10章 MVC的数据持久化层。本章详细介绍Rails数据持久化技术ActiveRecord的使用,...本章详细介绍Rails中视图层的使用,包括模板的分类、引用外部文件、格式化输出、使用超链接、生成表单元素,以及Helper类的使用等。

    react-rails-form-helpers:用于编写针对Rails的表单的组件

    唯一神奇的部分是生成属性名称,并确保Rails期望的字段存在于表单上。 有两种类型的组件。 “ FieldTag”组件 带有Tag后缀的组件根本不是魔术。 它们的存在是为了反映[Rails form helpers] []来表达意图的。 它们...

Global site tag (gtag.js) - Google Analytics