Home

Awesome

Weui-Rails Gem Version

An UI library for WeChat, includes widgets/modules in mobile web app, sass is copy from kevyu/weui-sass, so do not open any Issues/PR relative with weui sass style, instead, open PR at weui-sass.

Weui-Rails including some handy helper/view like message_box, for such feature, PR welcome.

Weui-Rails version is same as weui-sass version.

This gems can be used seperately, but 99% you will using with wechat gems at same time.

Migration from 0.4.x to 1.0.x notes

Due to weui make a huge rename when go 1.0 version, so a lot of style name changed, here is some incomplete list to help you upgrade easier.

Previus style1.0 style
weui_cellsweui-cells
weui_cellweui-cell
weui_cell_hdweui-cell__hd
weui_cell_bdweui-cell__bd
weui_cell_ftweui-cell__ft
weui_cell_primaryweui-cell_primary
weui_inputweui-input
weui_cells_titleweui-cells_title
weui_cells_accessweui-cell_access *
weui_toptipsweui-toptips
weui_warnweui-toptips_warn
weui_cells_formweui-cells_form
weui_labelweui-label
weui_cell_selectweui-cell_select
weui_select_afterweui-cell_select-after
weui_select_beforeweui-cell_select-before
weui_btnweui-btn
weui_btn_primaryweui-btn_primary
weui_btn_plain_defaultweui-btn_plain-default
weui_textareaweui-textarea
weui_msgweui-msg
weui_msg_titleweui-msg__title
weui_text_areaweui-msg__text-area
weui_opr_areaweui-msg__opr-area
weui_btn_areaweui-btn-area

Installation

Add this line to your application's Gemfile:

gem 'weui-rails'

And then execute:

$ bundle

Usage

app/assets/stylesheets/weui-rails.css.scss

@import "weui";

config/initializers/assets.rb

Rails.application.config.assets.precompile += %w( weui-rails.css )

app/views/layouts/wechat.html.erb

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
    <title>WeUI</title>
    <%= stylesheet_link_tag 'weui-rails', media: 'all' %>
    <script src="http://cdnjs.gtimg.com/cdnjs/libs/zepto/1.1.4/zepto.min.js"></script>
</head>
<body ontouchstart>
  <%= yield %>
</body>
</html>

config/routes.rb

  resource :wechat, only: [:show, :create] do
    collection do
      get :message_box
      get :direct_message_box
    end
  end

app/controllers/wechats_controller.rb

class WechatsController < ActionController::Base
  layout 'wechat'
  def message_box
  end 

  def direct_message_box
    render 'weui/message_box', locals: { title: 'Weui', description: 'directly render in controller' }  
  end
end

app/views/wechats/message_box.html.erb

<%= weui_message_box 'Title', 'Description', 'weui-icon-warn' -%>

More example

See official readme