在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
在创建了 application 及 至少一个 controller 和相应的 view 之后,就可以从浏览器访问 view 文件了。此篇简单介绍 html 元素的显示等。 1. rails 显示中文乱码问题 在浏览器中显示 英文 基本上是不会有问题的。文件乱码的问题只会出现在非英文内容的显示上。rails 中显示中文也极有可能遇到乱码的问题。在进行网页设计时最基本的一个出发点便是 尽量使用统一的编码风格,建议使用 utf-8,一般的浏览器会自动检测网页编码类型,但是我们决不能依赖于浏览器自身的智能性。我在 rails 的 rhtml 文件中加入中文后就出现了乱码问题。还是查网页寻找解决之法。( 现在的大多数网站都缺少原创精神,你转我,我转他,他再转它,转来转去用户看到的基本上都是同一篇文章,很多情况下根本解决不了问题。搜索引擎也对此也不做任何筛选,只是单纯的显示检索到的文章。这可真是中国互联网上的恶俗。)针对此问题,我检索结果的前十项文章是一模一样,而按照此篇文章所述还是解决不了我的乱码问题。先贴出网络上检索到的解决办法: 修改ApplicationController(该文件位于:../app/controllers/application.rb): class ApplicationController < ActionController::Base before_filter :configure_charsets def configure_charsets @response.headers["Content-Type"] = "text/html; charset=utf-8" suppress(ActiveRecord::StatementInvalid) do ActiveRecord::Base.connection.execute 'SET NAMES utf8' end end end 即便按照上面所说还是不能解决乱码问题。之后经过我的实验,将上面不同颜色处的代码用 # 注释掉之后便能解决我的乱码问题。各位看客若遇到乱码问题,不防一试。 2. form 表单 从网络上查到得文章(又是千篇一律)说在 rhtml 文件中显示 form 表单要加入表单开始标签:(以下代码来源于网络) <%= form_tag { :action => :save }, { :method => :post } %> Use :multipart => true to define a Mime-Multipart form (for file uploads) 以及结束标签: <%= end_form_tag %> 但是浏览器端解释有问题,让我一顿烦恼。但是在我的浏览器端去掉这个所谓的 form 开始和结束标签,再加入如下 2 份代码之一表单显示却是正确的。 <div class=""class="form"> <%= error_messages_for 'user' %> <fieldset> <legend>请输入用户信息</legend> <% form_for :user do |form| %> Name: <%= form.text_field :username, :size => 30 %> Password: <%= form.password_field :password, :size => 30 %> ConfirmPassword: <%= form.password_field :password_confirmation, :size => 30 %> <%= submit_tag "注册", :class => "submit" %> <% end %> </fieldset> </div> 或下面表单代码: <div class=""class="form"> <%= error_messages_for 'user' %> <fieldset> <legend>请输入用户信息</legend> <% form_tag do %> Name: <%= text_field_tag :username, params[:username], :size => 30 %> Password: <%= password_field_tag :password, params[:password], :size => 30 %> <%= submit_tag "注册", :class => "submit" %> <% end %> </fieldset> </div> 在这里我的浏览器显示 error_messages_for was removed from Rails and is now available as a plugin,即是说 error_message_for 已经不能作为内置的方法使用了,而是已经作为一个插件了(估计功能加强了)。去掉 <%= error_messages_for 'user' %> 这行代码,浏览器便成功解析了代码。 1> 文本域 多行文本域 text_field_tag(name, content =nil, option = {}) 普通文本域 text_field_tag(name, value = nil, option = {}) 隐藏文本域 hidden_field_tag(name, value = nil, option = {}) 密码文本域 password_field_tab(name, value = nil, option ={}) name, value 就如同 html 中的文本属性一样,这里的 option 属性 可以用来表示一些显示设置。 注意:表单元素的显示需要使用 <%= %>, option 参数均为可选参数。 如 <%= text_field_tag("name", "ruby",{:disable=>true, :size=>40, :maxlength=>22}) 2> 选框类 单选框 radio_button_tag(name, value, checked = false, option = {}) 单选框的 name 属性指示组名。 复选框 check_button_tag(name, value = "1", checked = false, option = {}) 复选框的 name 属性同样指示组名。 3> 文件域 文件域 file_field_tag(name, option = {}) 4> 列表框 select_tag(name, option_tags = nil, options = {}) .rhtml 中的文件实现例: <%= select_tag( "color", { :a =>"<option>black</option>", :b =>"<option value =pink>pink</option>" } %> 提交 submit_tag(value = "submit", options = {}) 图片按钮 image_submit_tag(source, options = {}) |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论