2-е обновление
Это код моей модели
after_initialize :start_two_weeks
def start_two_weeks
@subscription = TrialSubscription.all
@subscription.manual_expiry_date =
@subscription.save
end
Как установить динамическое время с Time.now на Time.now - 2 недели? Это поле даты и времени, какое значение для поля даты и времени? Дополнительные обновления, это означает, что я не вышел из системы
Filter chain halted as :require_no_authentication rendered or redirected
Я вышел из системы, и пользователь был создан, но через контроллер регистрации ...
Обновлено. Я только что понял, что форма отправляется пользователям / пользователям. Контроллер регистрации наследуется от devise :: registration
Started POST "/users" for 127.0.0.1 at 2014-03-23 19:58:08 -0400
Processing by RegistrationsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"8xhRi7TBEA+zXfmuzuJLqLjjo5JMkyEjUmgmRT6DsOQ=", "user"=>{"email"=>"[email protected]", "password"=>"[FILTERED]"}, "commit"=>"Create User"}
User Load (0.7ms) SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
Redirected to http://localhost:3000/
Filter chain halted as :require_no_authentication rendered or redirected
Completed 302 Found in 4.1ms (ActiveRecord: 0.7ms)
Форма не отправляется сюда
new_trial_subscription GET /trial_subscriptions/new(.:format) trial_subscriptions#new
POST /trial_subscriptions(.:format) trial_subscriptions#create
Хорошо, я пытаюсь воспроизвести то, что делал в консоли rails, чтобы поместить их в контроллеры.
У меня две модели
class TrialSubscription < ManualSubscription
accepts_nested_attributes_for :user
attr_accessible :user_attributes
end
ManualSubscription наследуется от Subscription и от модели Subscription
belongs_to :user
Я строю модель пользователя по подписке по какой-то другой причине.
в моей консоли рельсов я сделал это
@subscription = TrialSubscription.new
@user = @subscription.build_user(email: "[email protected]", password: "thisiseightcharacters")
@subscription.save
Я могу одновременно создать пользователя и связанную с ним пробную подписку. Я пытаюсь воспроизвести это в контроллере, и контент будет вводиться пользователем.
Это моя форма в
app / views / trial_subscriptions / new.html.erb
<%= simple_form_for @subscription.user do |f| %>
<%= f.input :email %>
<%= f.input :password %>
<%= f.button :submit %>
<% end %>
я добавил
resources :trial_subscriptions
поэтому URL-адрес trial_subscriptions/new
это мой контроллер
class TrialSubscriptionsController < ApplicationController
def index
end
def new
@subscription = TrialSubscription.new
@subscription.build_user
end
def create
@subscription = TrialSubscription.new(params[:subscription])
@subscription.email = :email
@subscription.password = :password
if @subscription.save
flash[:notice] = "Trial Subscription has started"
else
flash[:error] = "There was an error creating this subscription, please try again"
end
end
end
1) Что происходит между новым и созданным?
2) в моем методе создания params [: subscription] указывает на объект @subscription в моей форме, это правильно?
3): email на самом деле является атрибутом пользователя, правильно ли он передается по адресу @ subscription.email =: email?