yesod相关内容
我是 yesod 的新手,我正在尝试通过此截屏视频制作相同的博客项目:https://www.youtube.com/watch?v=SadfV-qbVg8 唯一的区别是我使用的是 MariaDB 而不是 PostgreSQL.每次我添加新博客文章并重定向到显示它的页面时,我都会看到此错误: [Error#yesod-core] get BlogPostKey {unBlogPostKey =
..
最近新闻中的两个 Haskell Web 框架是 Yesod(0.8 版本)和 Snap(0.4 版). 很明显,Yesod 目前支持的功能比 Snap 多得多.但是,我无法忍受 Yesod 用于其 HTML、CSS 和 Javascript 的语法. 所以,我想了解如果我改用 Snap,我会错过什么.例如,看起来没有数据库支持.会议怎么样?其他功能? 解决方案 完全披露:我是
..
我正在尝试从 Yesod 的处理程序中编写一个最简单的 JSON 响应,但有一些非常愚蠢的错误(显然).我的处理程序代码是这样的: -- HelloYesod/Handler/Echo.hs模块 Handler.Echo 在哪里导入 Data.Aeson(对象,(.=))导入合格的Data.Aeson as J导入 Data.Text(包)进口进口导入 Yesod.Core.Json (retu
..
目前,我将文本更改为字符串,然后使用 Text.Regex.Posix 进行匹配.Yesod中是否有一种惯用且有效的正则表达式方法? 解决方案 你看过regex-tdfa-text 包?它为使用带有 Text 字符串的 regex-base 库提供后端支持.
..
我正在使用 Yesod 和 Persistent 制作博客(真的很原创,嗯?). 在某个时候,我改变了我的模型,Persistent 说我尝试做的事情不安全,我必须手动完成.它说: 数据库迁移:需要人工干预.以下操作被认为是不安全的:ALTER TABLE“文章"删除列“日期"; 所以我继续在 Postgres 中运行它.事实上,我已经继续删除表“文章",我得到了错误: 迁移:创建表“
..
我需要运行 npm install &&gulp build 在我的 static/semantic-ui 文件夹中,因此它会创建所需的 css 文件. 我在 Setup 中看到了这个例子,但是在我的脚手架项目中我没有它,所以我的问题是在哪里放置代码来运行这些 bash 命令的正确位置. 解决方案 如果您使用的是默认的 Yesod 脚手架(由 stack 工具生成),那么它确实不包含
..
我知道我可以将端口号放在 config/settings.yml 中,但是在运行 yesod devel 时它们似乎被忽略了. 解决方案 您想使用 -p 选项.更一般地说: $ yesod devel --help用法:yesod devel [-d|--disable-api] [-s|--success-hook 命令][-f|--failure-hook 命令] [-t|--eve
..
我有以下一段代码: data 朋友 = 朋友{ 朋友姓名 :: 文字,friend_inTwitter :: Bool,friend_twitterName :: 可能是文本}$(deriveJSON (drop 6) ''Friend) 这段 JSON 正在发送到处理程序,我很难获得它.我尝试了不同的方法,但让我将其中之一放在这里以生成建议: postTestR :: 处理程序RepPla
..
我正在尝试通过 Yesod 中的 id 获取记录.我的代码是: getEditActorR :: Handler HtmlgetEditActorR = 做actorId
..
我有一台服务器,想在不安装 GHC 和 Cabal 的情况下部署我的 Yesod 应用程序.我不确定是否可行:一位老师告诉我,我必须首先在我的机器上编译 Keter,然后将 keter 可执行文件放在服务器上,尽管我不知道该怎么做. 解决方案 要构建 Keter,首先您需要从其 GitHub 存储库.然后你需要设置一个 Haskell 构建环境并使用 cabal build 或 cabal
..
假设我有一个像这样的JSON: {数据: {...}} 和 {...} 代表我的模型.怎么可能在这种情况下,在Handler中获取我的模型?例如,以下内容显然不起作用: putMyEntityR ::处理程序()putMyEntityR =做(实体ID _)
..
伙计,我有一个项目,我需要从会话中引出该用户的ID. 我不能将其放在Text/Int中,因为它说会话带有密钥(我认为是Sql Key),我如何将其转换为Int以在项目中的其他方法中使用 我试图这样做是为了从会话中恢复ID getInicioR ::处理程序HTMLgetInicioR =做uid
..
我有以下代码: {-#LANGUAGE TypeFamilies,QuasiQuotes,MultiParamTypeClasses,TemplateHaskell,OverloadedStrings#-}简单的模块在哪里导入Yesod数据HelloWorld = HelloWorldmkYesod"HelloWorld" [parseRoutes |/HomeR GET|]实例Yesod H
..
我刚刚使用 yesod init 初始化了Yesod项目(无数据库). 我的 HomeR GET处理程序如下: getHomeR ::处理程序HTMLgetHomeR =做(formWidget,formEnctype)
..
是的是否可以处理包含数据集合的表单? 我有一个用户可以添加多个人的表单,在前端,当前形式如下: {people.map((person,key)=>(
..
鉴于刚安装了Yesod的应用程序,获得用作CGI程序的可执行文件所需的最小更改集是什么?包装程序是可以接受的.如果"cabal build"构建的默认可执行文件是CGI程序,则必须设置哪些环境变量才能使其充当CGI(因为默认情况下,它将绑定到端口并尝试在该端口服务请求). 对于FastCGI的类似回答也将不胜感激. 解决方案 使用以下命令更新您的 app/main.hs : im
..
我想使用 WaiHttpAuth中间件,用于在HTTP基本身份验证后隐藏几页.为此,HttpAuth中间件提供了 authIsProtected ::!(请求-> IO Bool). 要实现 authIsProtected ,我需要检查URL是否仅是管理员身份.似乎最好的方法是在中创建路由属性路由文件,然后使用此功能访问它们: routeAttrs :: RouteAttrs a =>路线a
..
找不到简单问题的解决方案,答案应该很明显.如何在哈姆雷特模板中使用查询参数呈现网址? 即@{ItemsR}将生成http://localhost:3000/items,我该如何生成类似http://localhost:3000/items?page=10&sort=name的内容? 解决方案 Yesod是RESTful的,如果希望使用QueryString格式,则应使用url格式的参
..
出于可重用性,我想在另一个内部重用一个小部件.例如,小部件文件blogpost.hamlet可以包含帖子的显示方式,而blog.hamlet可以包含完整的博客. blog.hamlet的以下内容不起作用: $forall post
..
我可以找到的有关Persistent的所有教程和参考资料都非常详细地描述了Persistent如何能够根据其DSL中的单个定义自动创建新的数据类型,架构,迁移等.但是,我找不到关于如何持久化处理已经存在的数据类型的解释. 一个示例:假设我已经有一个用于某些游戏逻辑的Haskell模块.它包括播放器的记录类型. (本意是通过镜头使用的,因此要使用下划线.) data Player = P
..