嗨,我是Ruby on Rails的新手.我正在尝试创建一个小型博客网站.我有两张桌子帖子和评论.每篇博文都会有很多评论.我使用这些命令生成表.
rails g scaffold Post title:string body:text author:string
rails g scaffold Comment body:string author:string
Run Code Online (Sandbox Code Playgroud)
现在我想将关系添加到模型类中.我添加has_many :comments到Post类和belongs_to :postComment类.但是,当我尝试调用时,post.comments我得到一个运行时错误说SQLException: no such column: comments.post_id.我应该创建一个迁移并在Comment下添加post_id,还是有办法在脚手架中实现这个目的?
这个问题源自我在Grails应用程序上的工作,但它适用于几乎所有在层中开发的Web应用程序.这是一个简单的例子:
class OrderService {
// Option 1
def shipOrder(Order order) {
order.status = OrderStatus.SHIPPED
emailService.sendShipmentEmail(order)
// ...
}
// Option 2
def shipOrder(long orderId) {
def order = Order.get(orderId)
order.status = OrderStatus.SHIPPED
emailService.sendShipmentEmail(order)
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
这些选项中的任何一个都记录为比另一个更好吗?
grails design-patterns web-applications code-design service-layer
考虑这个代码:
const obj = {
a: 1,
b: 2
}
let possibleKey: string = 'a'
if (possibleKey in obj) console.log(obj[possibleKey])
Run Code Online (Sandbox Code Playgroud)
什么时候possibleKey in obj为真,我们知道它possibleKey有 type keyof typeof obj,对吧?为什么 TypeScript 类型系统没有检测到并缩小string到该类型?相反,它说:
Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{ a: number; b: number; }'.
Run Code Online (Sandbox Code Playgroud) 该材料在第10页上说,可以在不编写的情况下运行JavaFX应用程序main.我想有一些预定义的main内部jfxrt.jar,它寻找一个扩展Application和运行它的类.
是这样吗?怎么做?
code-design ×1
grails ×1
java ×1
javafx ×1
ruby ×1
scaffolding ×1
type-systems ×1
typescript ×1