end
def hashtag_scope
- Status.tagged_with(Tag.find_by(name: params[:tag].downcase)&.id)
+ tag = Tag.find_normalized(params[:tag])
+
+ if tag
+ Status.tagged_with(tag.id)
+ else
+ Status.none
+ end
end
def set_account
end
def hashtag_scope
- Status.tagged_with(Tag.find_by(name: params[:tagged])&.id)
+ tag = Tag.find_normalized(params[:tagged])
+
+ if tag
+ Status.tagged_with(tag.id)
+ else
+ Status.none
+ end
end
def pagination_params(core_params)
private
def load_tag
- @tag = Tag.find_by(name: params[:id].downcase)
+ @tag = Tag.find_normalized(params[:id])
end
def load_statuses
before_action :set_instance_presenter
def show
- @tag = Tag.find_by!(name: params[:id].downcase)
+ @tag = Tag.find_normalized!(params[:id])
respond_to do |format|
format.html do
.limit(limit)
.offset(offset)
end
+
+ def find_normalized(name)
+ find_by(name: name.mb_chars.downcase.to_s)
+ end
+
+ def find_normalized!(name)
+ find_normalized(name) || raise(ActiveRecord::RecordNotFound)
+ end
end
private