我是 Web 开发的新手,并尝试使用 Ruby on Rails (3.2.9) 开始一个项目。所以,我有点困惑 RoR 可以在没有 JavaScript 的情况下做什么......例如使用 Rails Scaffold,通过访问 Controller 的新方法在数据库中创建新记录没有问题(然后调用 create 方法并将记录保存到数据库中)我现在想在不使用视图的情况下创建新记录。就像“用户点击按钮->记录已保存”之类的东西我会给你一个例子(我需要这个来学习,这不是一个现实生活中的项目......)
我有一个显示我所有文章的视图(rails 生成脚手架文章),现在添加了一个指向“购买方法”的链接,该链接显示文章名称和可用数量。下面有一个字段,客户可以在其中选择他想购买的商品数量。
<p>
<b>Name:</b>
<%= @article.name %>
</p>
<p>
<b>Available:</b>
<%= @article.stocks %>
</p>
<%= form_for(@article) do |f| %>
<div class="field">
<b>How many?</b>
<br />
<%= f.number_field :amount %>
</div>
<% end %>
现在我想添加一个链接(或者我认为更好的按钮),它会导致一个事件,它将文章的名称和选定的数量变成类似订单项目的东西,即在 order_item 表中创建记录。
<td><%=link_to "Ja", :controller => "oderItem", :method => "create" %></td><br>
现在我很困惑我该怎么做。我考虑过只使用控制器的 create - 方法(或任何方法),它执行以下操作:
def match
@apo = OrderItem.new(:amount :2, ...)
@apo.save
end
但这似乎让我接受了控制器的新方法或类似的东西。
所以,有了这个解释(这也许也揭示了我的知识水平......)有人可以告诉我我是否真的在使用 Rails 做错了什么,或者我是否只需要为此使用 javascript?
一些示例代码(用于 Rails 和/或 JS)将不胜感激!(请保持简单,我知道 Ajax 等是最先进的,但我只是想让它运行 :-))...还链接到代码示例,它只在 Rails 上显示这样的项目(简单地说:- ) ) 会非常好!