-
自定義 Model 網(wǎng)址
方案一:網(wǎng)址ID+數(shù)字
在model中定義 to_param
函數(shù)
def to_param
"#{self.id}-#{self.name}"
end
方案二: 亂數(shù) ID
新增一個字段今阳,在創(chuàng)建時此字段產(chǎn)生隨機數(shù)
通過這個字段來對文章進行CURD操作疚沐,包括網(wǎng)址顯示
方案三: 用戶可以自定義 ID
對新增的id進行前臺編輯
-
多語言設置
- 配置中文語系
配置默認語系
class Application < Rails::Application
config.i18n.default_locale = "zh-CN"
end
注意 YAML 格式的縮排必須使用兩個空格,Tab 是不允許的。直接復制貼上可能會有問題绷柒,請小心檢查縮排淆珊。
<h1><%= t("event_list") %></h1>
也可以寫成 t("event_list", :scope => "admin") 結(jié)果是一樣的
其中 t 等同于 I18n.t,是個 Helper 方法健芭,會根據(jù)語系來做字符串的替換
新增詞匯檔案需要重啟服務器县钥,修改詞匯不需要。
- 詞匯中內(nèi)嵌變量
有些句子可能會需要內(nèi)嵌變量慈迈,可以使用 %{variable_name} 的語法 - 安裝 Rails 中文翻譯詞匯檔 ,安裝 Devise 翻譯檔
- Model 字段翻譯
新增config/locales/events.yml
注意其中的語句和正常的zh-CN.yml不一樣若贮,前面要加上activerecord和attributes
zh-CN:
activerecord:
attributes:
event:
name:
description: "描述"
其實,翻譯檔檔名叫 events.yml痒留、zh-TW.yml谴麦、en.yml 什么都無所謂,重要的是 YAML 結(jié)構(gòu)中第一層要對應locale的名稱伸头,也就是 zh-CN匾效,Rails 會加載 config/locales 下所有的YAML詞匯檔案。
- 讓使用者可以切換多語系
- 語系樣板恤磷,可以對一個頁面使用中文或英文樣板
app/views/pages/faq.zh-CN.html.erb
app/views/pages/faq.en.html.erb
這樣就會自動識別
-
時區(qū)設置
配置北京時區(qū)
config.time_zone = "Beijing"
根據(jù)用戶配置切換時區(qū)
在users表中建立一個時區(qū)字段面哼,再在前臺進行編輯,網(wǎng)站啟動是把這個字段值賦值給Time.zone
-
格式化日期時間
strftime 格式化時間
<%= event.created_at.strftime("%Y/%m/%d %I:%M %p") %>
strftime用法扫步,參考https://ruby-doc.org/core-2.3.4/Time.html#strftime-method
Rails 時間 to_s 方法
或者在config/application.rb
中自定義格式精绎,如下
Time::DATE_FORMATS.merge!(:default => '%Y/%m/%d %I:%M %p', :ymd => '%Y/%m/%d')
-
表單單選ui(固定選項無model)
使用select下拉選單
使用Radio Button UI (選項少于3個)
使用Radio 加上 Bootstrap Button 樣式
-
表單單選ui和select2 plugin
其中單選UI在document中沒有生效,待查
-
表單多選 UI 和 Select2 Plugin