【发布时间】:2011-12-15 22:24:03
【问题描述】:
(轨道 2.2.2)
我有 2 个模型,用户和订阅。每个用户可以拥有一个或多个订阅(= 高级服务)。属性下方:
- 用户:ID、用户名、...
- 订阅:id、user_id (FK)、类型、started_at、ended_at
类:
class User < ActiveRecord::Base
..
has_many :subscriptions, :dependent => :destroy
..
end
class Subscription < ActiveRecord::Base
belongs_to :user, :foreign_key => :user_id
end
现在我想制作 UI 部分,现有用户可以在其帐户中订阅高级服务。因此,我想制作第一个简单的版本,用户可以通过单击复选框来订阅。这就是我目前所得到的
<div class = 'wrapper'>
<%= render :partial => "my_account_leftbar" %>
<% form_for @subscription, :url => subscribe_user_path(current_user) do |f| %>
<div class="field">
<%= (f.check_box :type?) %> <!-- add '?'after the symbol, source: https://github.com/justinfrench/formtastic/issues/269 -->
</div>
<div class="actions">
<%= f.submit "Subscribe", :class => "button mr8" %>
</div>
<% end %>
</div>
问题:
- 应用程序向数据库中插入了一条记录,但我在表单(类型)中定义的属性尚未设置(它应该设置“1”,代表“标准订阅”)。如何让app设置这个属性?
- 如何设置FK?我假设 rails 应该自动设置 FK,这个假设是否正确?
- 如何设置其他值'started_at'和'ended_at?这些是日期时间(时间戳)值...
刚用完我的初学者 Rails 知识,非常感谢任何帮助...
【问题讨论】:
标签: ruby-on-rails forms checkbox