构建计数器需要什么样的模型/控制器

时间:2012-01-17 22:36:57

标签: ruby-on-rails ruby counter

我想创建一个计数器示例,当用户按下网页上的按钮时,变量会增加(视图)

我已经为这个计数器创建了ruby程序:

   def counter(x = 0)
     x+=1
     puts "The current value is #{x}"
   end

我把它保存为counter.rb。然后对于视图我创建了另一个名为counter.erb的文件但是我不知道在哪里调用这个rb文件,我应该使用<%= %>嵌入的ruby标签吗?完全糊涂了。

另一件事是方法计数器的参数应该与button次点击相关联。

请指导我

谢谢,

2 个答案:

答案 0 :(得分:2)

好的,这是基本的,你应该知道这一点,但我仍会告诉你。这个问题也很模糊,所以我假设你有一个计数器,它是一个计数器的数字和名称。这是从头开始更新任何列的方法。首先创建

      rails generate scaffold counter count:integer name:string

这一步之后。

      def update
        @counter = Counter.find(params[:id])
        if @counter.update_attributes(params[:counter])
               redirect_to @counter, :flash => { :success => "Profile updated." }
        end
      end

在此之后,在edit.html.erb中的视图下创建一个视图:

<%= form_for(@counter) do |f| %>
    <div class="field">
      <%= f.label :name %><br />
      <%= f.text_field :name %>
    </div>
    <div class="field">
      <%= f.label :count %><br />
      <%= f.text_field :count %>
    </div>
    <div class="actions">
      <%= f.submit "Update" %>
    </div>
<% end %>

转到counter.rb模型并执行以下操作:

class Counter < ActiveRecord::Base
  attr_accessible :count, :name
end

您不必在路由文件中添加任何内容,因为它已具有更新资源。 现在打开浏览器,如果你说

localhost:3000/counter/1/update

创建第一个计数器值后,您可以从那里更新内容。

这是你可以在ruby on rails上完成更新的方法。如果您需要有关代码的更多解释,您应该检查rails的api文档,这是一个好的开始。我也是初学者。

答案 1 :(得分:0)

看起来你对Rails和MVC缺乏基本的了解。我建议你从一个简单的教程开始,以了解事情是如何工作的。

http://guides.rubyonrails.org/getting_started.html将为您提供一个简单的应用程序,并解释您在开始时需要了解的所有内容。

基本上说,你需要一个CounterController,并且 - 如果你想坚持你的计数器 - 一个Counter模型。或者你可以使用cookie。

但是,我建议你阅读我上面发布的指南。