草庐IT

喜欢看球,那就手撸一个看球小程序系统

程序员springmeng 2023-04-21 原文

大家好,我是小孟!

我是一个大龄程序员,90后。今年35了。

每当看到招聘不招35岁以上的程序员,就慌的一b。

码代码占据了我大部分的时间,除了代码养家,

篮球给我带来了很多的快乐,比女友还快乐!

“穿上球衣,穿上球鞋,叫上兄弟们!

一起出来打球,打完篮球,坐在夕阳下,喝着一块一瓶的水,聊着自己喜欢的女孩”

练球虽累,但他不苦。姑娘虽美,但我不配。故事很长,也不难讲。打完这场球,再谈理想。

篮球虐我千百遍,我待篮球如初恋!

作为一名码农,这几天因疫情在家隔离,闲的没事,手撸了一个篮球小程序系统。

目录

一,系统展示







二,小程序端代码

在这里插<!--pages/articleDetail/articleDetail.wxml-->
欢迎围观小孟朋友圈,我的V:jishulearn
<view class="container">
    <view class="articleBox" >
        <view class="article_header">
            <text class="article_title">{{article.articleTitle}}</text>
            <text class="article_date">{{article.articleDate}}</text>
        </view>
        <view class="article_pic">
            <!-- <video src="{{article.videoUrl}}" 
            poster="{{article.imgUrl}}" 
            objectFit="cover" 
            controls="{{true}}"/> -->
            <image src="{{sUrl+article.imgUrl}}"/>
        </view>
        <view class="article_content">
            <p>{{article.articleContent}}</p>
        </view>
    </view>
    <view class="comments">
            <view class="com_hd">
                <view>评论</view>
                <view class="commententy"  bindtap="showModal" data-target="bottomModal"><image class="toComment" src="../../images/pinglun.png"/>{{article.commentList.length}}</view>
                
            </view>
            <view class="comBox" wx:for="{{article.commentList}}" wx:for-item="comment">
                <view class="comBox_hd">
                    <view class="userInfo">
                        <image class="userThumb" src="{{comment.userThumb}}"/>
                        <text class="userName">{{comment.userName}}</text>
                    </view>
                    <text class="comTime">{{comment.comTime}}</text>
                </view>
                <view class="comBox_bd">
                    <p>{{comment.commentStr}}</p>
                </view>
            </view>
        </view>


        <view class="cu-modal bottom-modal {{modalName=='bottomModal'?'show':''}}">
            <view class="cu-dialog">
                <view class="flexcc">
                    <image class="userThumba" src="{{userInfo.avatarUrl}}"/>
                    <view>
                    <input bindfocus="InputFocus" value="{{commentInputValue}}" bindinput="commentInput" bindblur="InputBlur" adjust-position="{{true}}" focus="{{ifocus}}" maxlength="150" cursor-spacing="10"></input>
                    </view>
                    <button class="bt" bindtap="submitc">发送</button>
                </view>
            </view>
        </view>
</view>
入代码片
<!--pages/order/order.wxml-->
<view class="container">
    <view wx:if="{{hasOrder}}" class="gameOrder">
        <view class="gameOrder" wx:for="{{orderList}}" wx:key="{{orderList.id}}">
            <text class="gameDate">{{item.gameDate}}</text>
            <view class="weui-cells">
                <navigator url="/pages/order/order" class="weui-cell weui-cell_access" hover-class="weui-cell_active">
                    <view class="weui-cell__hd">
                        <text>{{item.gameTime}}</text>
                        <text>{{item.gameName}}</text>
                    </view>
                    <view class="weui-cell__bd">
                        <view class="team_1">
                            <image src="{{item.team_1_pic}}"></image><span>{{item.team_1}}</span>
                        </view>
                        <view class="team_2">
                            <image src="{{item.team_2_pic}}"></image><span>{{item.team_2}}</span>
                        </view>
                    </view>
                    <view class="weui-cell__ft">
                        <view class="ft_left">
                            <view wx:if="{{item.isStart}}">
                                <text class="gameScore scoreM">{{item.team_1_score}}</text>
                                <text class="gameScore">{{item.team_2_score}}</text>
                            </view>
                            <view wx:else>
                                <text class="gameScore scoreM">-</text>
                                <text class="gameScore">-</text>
                            </view>
                        </view>
                        <view class="ft_right">
                            <view wx:if="{{item.gameLive}}" class="gameLive">
                                <view wx:if="{{v_live}}">
                                    <image class="livePic" src="{{vLive_pic}}"/>
                                    <span>{{vLive_text}}</span>
                                </view>
                                <view wx:else>
                                    <image class="livePic" src="{{pLive_pic}}"/>
                                    <span>{{pLive_text}}</span>
                                </view>
                            </view>
                            <view wx:else class="gameLive">
                                <span>未开始</span>
                            </view>
                        </view>
                        
                    </view>
                </navigator>
            </view>
        </view>
    </view>
    <view wx:else class="noOrders">
        <text>没有预约比赛</text>
    </view>
</view>

三,后端代码

/**
 * articleController
 * @author 小孟V:jishulearn
 * @version 2022-02-13
 */
@Controller
@RequestMapping(value = "${adminPath}/article/article")
public class ArticleController extends BaseController {

	@Autowired
	private ArticleService articleService;
	
	/**
	 * 获取数据
	 */
	@ModelAttribute
	public Article get(String id, boolean isNewRecord) {
		return articleService.get(id, isNewRecord);
	}
	
	/**
	 * 查询列表
	 */
	@RequiresPermissions("article:article:view")
	@RequestMapping(value = {"list", ""})
	public String list(Article article, Model model) {
		model.addAttribute("article", article);
		return "modules/article/articleList";
	}
	
	/**
	 * 查询列表数据
	 */
	@RequiresPermissions("article:article:view")
	@RequestMapping(value = "listData")
	@ResponseBody
	public Page<Article> listData(Article article, HttpServletRequest request, HttpServletResponse response) {
		article.setPage(new Page<>(request, response));
		Page<Article> page = articleService.findPage(article);
		List<Article> articleList = new ArrayList<>();
		for (Article article1 : page.getList()) {
			List<FileUpload> fileUploadList = FileUploadUtils.findFileUpload(article1.getId(),"article_image");
			if (fileUploadList.size() > 0){
				article1.setImgUrl(FileUploadUtils.findFileUpload(article1.getId(),"article_image").get(0).getFileUrl());
			}
			articleList.add(article1);
		}
		page.setList(articleList);
		return page;
	}

	/**
	 * 查看编辑表单
	 */
	@RequiresPermissions("article:article:view")
	@RequestMapping(value = "form")
	public String form(Article article, Model model) {
		model.addAttribute("article", article);
		return "modules/article/articleForm";
	}

	/**
	 * 保存i_article
	 */
	@RequiresPermissions("article:article:edit")
	@PostMapping(value = "save")
	@ResponseBody
	public String save(@Validated Article article) {
		if(StringUtils.isEmpty(article.getId())) {
			article.setArticleDate(new Date());
		}
		articleService.save(article);
		return renderResult(Global.TRUE, text("保存i_article成功!"));
	}
	
	/**
	 * 删除i_article
	 */
	@RequiresPermissions("article:article:edit")
	@RequestMapping(value = "delete")
	@ResponseBody
	public String delete(Article article) {
		articleService.delete(article);
		return renderResult(Global.TRUE, text("删除i_article成功!"));
	}
	
}
/**
 * 赛事管理Controller
 * @author 小孟V:jishulearn
 * @version 2022-02-11
 */
@Controller
@RequestMapping(value = "${adminPath}/match/match")
public class MatchController extends BaseController {

	@Autowired
	private MatchService matchService;

	@Autowired
	private GameTypeService gameTypeService;

	@Autowired
	private TeamService teamService;
	
	/**
	 * 获取数据
	 */
	@ModelAttribute
	public Match get(String id, boolean isNewRecord) {
		return matchService.get(id, isNewRecord);
	}
	
	/**
	 * 查询列表
	 */
	@RequiresPermissions("match:match:view")
	@RequestMapping(value = {"list", ""})
	public String list(Match match, Model model) {
		model.addAttribute("match", match);
		return "modules/match/matchList";
	}
	
	/**
	 * 查询列表数据
	 */
	@RequiresPermissions("match:match:view")
	@RequestMapping(value = "listData")
	@ResponseBody
	public Page<Match> listData(Match match, HttpServletRequest request, HttpServletResponse response) {
		match.setPage(new Page<>(request, response));
		Page<Match> page = matchService.findPage(match);
		List<GameType> gameTypeList = gameTypeService.findList(new GameType());
		List<Team> teamList = teamService.findList(new Team());
		List<Match> matcheList = new ArrayList<>();
		for (Match match1 : page.getList()) {
			for (GameType gameType : gameTypeList) {
				if (gameType.getId().equals(match1.getGameType())) {
					match1.setGameType(gameType.getName());
				}
			}
			matcheList.add(match1);
		}
		List<Match> matcheList1 = new ArrayList<>();
		for (Match match1 : matcheList) {
			for (Team team : teamList) {
				if (team.getId().equals(match1.getHomeField())) {
					 match1.setHomeField(team.getName());
				}
				if (team.getId().equals(match1.getGuestField())) {
					match1.setGuestField(team.getName());
				}
			}
			matcheList1.add(match1);
		}
		page.setList(matcheList1);
		return page;
	}

	/**
	 * 查看编辑表单
	 */
	@RequiresPermissions("match:match:view")
	@RequestMapping(value = "form")
	public String form(Match match, Model model) {
		List<GameType> gameTypeList = gameTypeService.findList(new GameType());
		List<Team> teamList = teamService.findList(new Team());
		model.addAttribute("match", match);
		model.addAttribute("gameTypeList", gameTypeList);
		model.addAttribute("teamList", teamList);
		return "modules/match/matchForm";
	}

	/**
	 * 保存赛事管理
	 */
	@RequiresPermissions("match:match:edit")
	@PostMapping(value = "save")
	@ResponseBody
	public String save(@Validated Match match) {
		matchService.save(match);
		return renderResult(Global.TRUE, text("保存赛事管理成功!"));
	}
	
	/**
	 * 删除赛事管理
	 */
	@RequiresPermissions("match:match:edit")
	@RequestMapping(value = "delete")
	@ResponseBody
	public String delete(Match match) {
		matchService.delete(match);
		return renderResult(Global.TRUE, text("删除赛事管理成功!"));
	}
	

四,数据库


SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for i_article
-- ----------------------------
DROP TABLE IF EXISTS `i_article`;
CREATE TABLE `i_article`  (
  `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `article_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `article_date` datetime(0) NULL DEFAULT NULL,
  `img_url` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
  `videoUrl` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
  `article_content` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `match_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of i_article

-- ----------------------------
-- Table structure for i_comment
-- ----------------------------
DROP TABLE IF EXISTS `i_comment`;
CREATE TABLE `i_comment`  (
  `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `open_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `comment_str` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `com_time` datetime(0) NULL DEFAULT NULL,
  `article_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of i_comment
-- ----------------------------
INSERT INTO `i_comment` VALUES ('1229650608296800256', 'oR9X80PNiduNcTgo7_AiwaGUO9G4', '123', '2020-02-18 14:15:25', '1227912896076685312');

-- ----------------------------
-- Table structure for i_game_type
-- ----------------------------
DROP TABLE IF EXISTS `i_game_type`;
CREATE TABLE `i_game_type`  (
  `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- ----------------------------
-- Table structure for i_match
-- ----------------------------
DROP TABLE IF EXISTS `i_match`;
CREATE TABLE `i_match`  (
  `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `home_field` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '主场',
  `guest_field` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '客场',
  `home_score` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '比分',
  `guest_score` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `start_time` datetime(0) NULL DEFAULT NULL,
  `game_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '所属赛事',
  `game_type_a` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '赛事小分类',
  `is_start` int(0) NULL DEFAULT NULL,
  `highlight_name1` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `highlight_name2` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `highlight_name3` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `highlight_name4` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `highlight_u1` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
  `highlight_u2` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
  `highlight_u3` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
  `highlight_u4` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of i_match

-- ----------------------------
-- Table structure for i_player
-- ----------------------------
DROP TABLE IF EXISTS `i_player`;
CREATE TABLE `i_player`  (
  `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `player_thumb` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `player_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `team` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `score` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `assist` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `backboard` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `steal` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `block` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of i_player
-- ----------------------------
INSERT INTO `i_player` VALUES ('1228343814021251072', 'https://nba.sports.qq.com/media/img/players/head/260x190/203507.png', '托尼斯-阿德托昆博', '1228247876190314496', '30.0', '5.5', '13.5', '1.1', '1.1');
INSERT INTO `i_player` VALUES ('1228344572263333888', 'https://nba.sports.qq.com/media/img/players/head/260x190/202695.png', '莱昂纳德', '1227162154749386772', '27.2', '5.3', '7.4', '1.8', '0.7');

-- ----------------------------
-- Table structure for i_team
-- ----------------------------
DROP TABLE IF EXISTS `i_team`;
CREATE TABLE `i_team`  (
  `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `icon` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
  `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `win_num` int(0) NULL DEFAULT NULL,
  `lost_num` int(0) NULL DEFAULT NULL,
  `location` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------

五,手把手教你学习

前面分享了很多的项目、教程、面试题。

大家可以跟着学习。都是免费的。

给个三连(点赞+关注)和关注,一起变强,你点赞关注我,就算支持了小孟,当然我也会回报更多的给你。人和人之间都是相互的,嘿嘿……

项目给大家提供了。所有资料获取,点击下面的,关注弹出来的图片,

点击👇🏻👇🏻👇🏻 然后回复:项目大全

有关喜欢看球,那就手撸一个看球小程序系统的更多相关文章

  1. ruby - 在 Ruby 程序执行时阻止 Windows 7 PC 进入休眠状态 - 2

    我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0

  2. ruby - 如何指定 Rack 处理程序 - 2

    Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack

  3. ruby - 使用 Vim Rails,您可以创建一个新的迁移文件并一次性打开它吗? - 2

    使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta

  4. ruby-on-rails - Rails - 一个 View 中的多个模型 - 2

    我需要从一个View访问多个模型。以前,我的links_controller仅用于提供以不同方式排序的链接资源。现在我想包括一个部分(我假设)显示按分数排序的顶级用户(@users=User.all.sort_by(&:score))我知道我可以将此代码插入每个链接操作并从View访问它,但这似乎不是“ruby方式”,我将需要在不久的将来访问更多模型。这可能会变得很脏,是否有针对这种情况的任何技术?注意事项:我认为我的应用程序正朝着单一格式和动态页面内容的方向发展,本质上是一个典型的网络应用程序。我知道before_filter但考虑到我希望应用程序进入的方向,这似乎很麻烦。最终从任何

  5. ruby-on-rails - 渲染另一个 Controller 的 View - 2

    我想要做的是有2个不同的Controller,client和test_client。客户端Controller已经构建,我想创建一个test_clientController,我可以使用它来玩弄客户端的UI并根据需要进行调整。我主要是想绕过我在客户端中内置的验证及其对加载数据的管理Controller的依赖。所以我希望test_clientController加载示例数据集,然后呈现客户端Controller的索引View,以便我可以调整客户端UI。就是这样。我在test_clients索引方法中试过这个:classTestClientdefindexrender:template=>

  6. ruby - 在 Ruby 中编写命令行实用程序 - 2

    我想用ruby​​编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序

  7. ruby-on-rails - Rails 应用程序之间的通信 - 2

    我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此

  8. ruby - 无法运行 Rails 2.x 应用程序 - 2

    我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby​​:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r

  9. ruby-on-rails - Rails 应用程序中的 Rails : How are you using application_controller. rb 是新手吗? - 2

    刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr

  10. ruby-on-rails - 如果 Object::try 被发送到一个 nil 对象,为什么它会起作用? - 2

    如果您尝试在Ruby中的nil对象上调用方法,则会出现NoMethodError异常并显示消息:"undefinedmethod‘...’fornil:NilClass"然而,有一个tryRails中的方法,如果它被发送到一个nil对象,它只返回nil:require'rubygems'require'active_support/all'nil.try(:nonexisting_method)#noNoMethodErrorexceptionanymore那么try如何在内部工作以防止该异常? 最佳答案 像Ruby中的所有其他对象

随机推荐