我目前正在尝试将ERB布局转换为HAML.
这是我一直收到的错误:
index.html.haml:18: syntax error, unexpected ')'
));}\n #{_hamlout.format_...
Run Code Online (Sandbox Code Playgroud)
这是HAML页面:
.row-fluid
.span6
%h2 Todo List
.span6
%h2{:style => "text-align:right;"} <script>document.write(today)</script>
%hr.divider
.row-fluid
.span6
%h2.small_head New Task
= render :partial => 'layouts/form_errors', :locals => {:object => @list}
.form
= form_for :list, :url => {:controller => 'lists', :action => 'create'} do |f|
= label_tag :list_name, "Title", :class => 'header_label'
Run Code Online (Sandbox Code Playgroud)
我也尝试过这个变种:
= form_for(:list, :url => {:controller => 'lists', :action => 'create'}) do |f|
= label_tag(:list_name, "Title", :class => 'header_label')
Run Code Online (Sandbox Code Playgroud)
无论是工作还是两者都生成相同的错误消息,并且非常感谢.
我一直在玩Go的XML包,但看不出以下代码有什么问题.
package main
import (
"encoding/xml"
"fmt"
"net/http"
)
type Channel struct {
Items Item
}
type Item struct {
Title string `xml:"title"`
Link string `xml:"link"`
Description string `xml:"description"`
}
func main() {
var items = new(Channel)
res, err := http.Get("http://www.reddit.com/r/google.xml")
if err != nil {
fmt.Printf("Error: %v\n", err)
} else {
decoded := xml.NewDecoder(res.Body)
err = decoded.Decode(items)
if err != nil {
fmt.Printf("Error: %v\n", err)
}
fmt.Printf("Title: %s\n", items.Items.Title)
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码运行没有任何错误,并打印到终端:
Title:
Run Code Online (Sandbox Code Playgroud)
结构似乎是空的,但我不明白为什么它没有填充XML数据.
我最近喜欢Go编程语言,到目前为止我发现它很精彩,但我真的很难理解接口.我已经阅读了很多关于它们的内容,但它们对我来说似乎仍然非常抽象.
我写了一些使用以下界面的代码:
package main
import (
"fmt"
"math"
)
type Circer interface {
Circ() float64
}
type Square struct {
side float64
}
type Circle struct {
diam, rad float64
}
func (s *Square) Circ() float64 {
return s.side * 4
}
func (c *Circle) Circ() float64 {
return c.diam * math.Pi
}
func (c *Circle) Area() float64 {
if c.rad == 0 {
var rad = c.diam / 2
return (rad*rad) * math.Pi
} else {
return (c.rad*c.rad) * …Run Code Online (Sandbox Code Playgroud) 所以我必须遵循模型.
class Team < ActiveRecord::Base
belongs_to :user
has_and_belongs_to_many :players
accepts_nested_attributes_for :players
end
class Player < ActiveRecord::Base
has_many :statistics
has_and_belongs_to_many :teams
end
Run Code Online (Sandbox Code Playgroud)
我希望建立一个拥有玩家的团队,这些团队将由用户选择.我可以通过以下方式在控制台中完美地完成此操作.
@user = User.find(10)
@team = @user.build_team(name: "MyTeam", points: 0)
#<Team team_id: nil, name: "MyTeam", points: 0, user_id: 10>
@team.players.build(name: "Messi")
#<Player player_id: nil, name: "Messi", role: nil>
@team.save
Run Code Online (Sandbox Code Playgroud)
然而,由于强大的参数,我真的很难通过参数.这是我的看法
<%= form_for :team do |f| %>
<%= f.label :name %><br />
<%= f.text_field :name %>
<%= f.fields_for :players do |players| %>
<%= players.label :player_name %>
<%= players.text_field :name %> …Run Code Online (Sandbox Code Playgroud) 我正在用 Ruby 开发一个项目。我正在使用的库以双引号形式返回一个字符串,例如:"\x00\x40". 由于字符串在双引号中,任何可以转换为 ASCII 字符的十六进制都会被转换。因此,当我打印时,我实际上看到了:"\x00@".
我发现,如果我使用单引号,那么字符串将以纯十六进制打印(不进行转换),这就是我想要的。如何将双引号字符串更改为单引号?
我没有任何方法可以更改库中的返回类型,因为它是 C 扩展,而且我无法弄清楚该值是从哪里返回的。任何想法都非常感谢。