Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby Sinatra Haml:访问对象属性_Ruby_Sinatra_Haml - Fatal编程技术网

Ruby Sinatra Haml:访问对象属性

Ruby Sinatra Haml:访问对象属性,ruby,sinatra,haml,Ruby,Sinatra,Haml,我是新来西纳特拉和哈姆的。我正在编写一个简单的todo应用程序。 在控制器中,我正在创建todo对象的列表。例如,每个todo都有属性“title”和“priority”。todo列表是sinatra控制器的一个属性(@todos=…todo对象列表) 我可以使用访问/迭代TODO列表 %ul - @todos.each do |todo| %li= todo .... 等等 但是如何访问我的todo对象的属性(“标题”、“优先级”)? 它的语法是什么? 尝试了几

我是新来西纳特拉和哈姆的。我正在编写一个简单的todo应用程序。 在控制器中,我正在创建todo对象的列表。例如,每个todo都有属性“title”和“priority”。todo列表是sinatra控制器的一个属性(@todos=…todo对象列表)

我可以使用访问/迭代TODO列表

%ul
     - @todos.each do |todo|
          %li= todo ....
等等

但是如何访问我的todo对象的属性(“标题”、“优先级”)? 它的语法是什么? 尝试了几次,但没有找到合适的

您能帮助我吗?

如果您使用datamapper(activerecord没有区别):

在控制器中:

get '/' do
  @todos = Todo.all
  haml :todo
end
鉴于:

%ul
  -@todos.each do |todo|
    %li
      =todo.title
      %br
      =todo.task
所有东西都是对象,在哪里可以访问它的属性没有区别。 你可以做:

 ...
 -Todo.all.each do |todo|
 ...
但这不是一个好方法。

如果您使用datamapper(activerecord没有区别):

在控制器中:

get '/' do
  @todos = Todo.all
  haml :todo
end
鉴于:

%ul
  -@todos.each do |todo|
    %li
      =todo.title
      %br
      =todo.task
所有东西都是对象,在哪里可以访问它的属性没有区别。 你可以做:

 ...
 -Todo.all.each do |todo|
 ...

但这不是一个好方法。

这与Sinatra关系不大,而与您如何构建应用程序的其余部分关系更大。您是否将ActiveRecord与Sinatra结合使用?需要更多的信息来回答这个问题。这与Sinatra关系不大,而与您如何构建应用程序的其余部分关系更大。您是否将ActiveRecord与Sinatra结合使用?回答这个问题需要更多的信息。伙计,吉巴西,如果它有效,你真的应该给祖祖卡信用。伙计,吉巴西,如果它有效,你真的应该给祖祖卡信用。