如何解决Rails-大写文章标签和标题
| 我试图找到一种在用户提交文章时将所有“标题和标签”的第一个字母大写的方法。我可以使用大写方法,但是在哪里可以将其添加到控制器代码块中呢? 谢谢 控制器/ articles_controller:def new
@article = Article.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @article }
end
end
控制器/ tags_controller:
class TagsController < ApplicationController
def show
@tag = Tag.find(params[:id])
@articles = @tag.articles
end
end
型号/文章:
def tag_names
@tag_names || tags.map(&:name).join(\' \')
end
private
def assign_tags
if @tag_names
self.tags = @tag_names.split(/\\,/).map do |name|
Tag.find_or_create_by_name(name)
end
end
...
解决方法
我会做这样的事情来迫使他们在储蓄之前被大写。
class Article < ActiveRecord::Base
def title=(title)
write_attribute(:title,title.titleize)
end
private
def assign_tags
if @tag_names
self.tags = @tag_names.split(/\\,/).map do |name|
Tag.find_or_create_by_name(name.capitalize)
end
end
end
end
,您打算在哪里资本化?在保存到数据库之前?或何时向用户显示?
有两种方法:
使用铁路的标题功能或大写
或通过以下方式使用CSS进行操作:
<p class=\"tag\">im a tag</p>
#CSS
.tag {
text-transform:capitalize;
}
,尝试使用.capitalize
例如\“ title \”。capitalize将成为\“ Title \”
,如弗朗西斯所说,在控制器中使用.capitalize
我用这个
@article= Article.new(params[:article])
@article.name = @article.title.capitalize
@article.save
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。