я получаю сообщение об ошибке
ArgumentError in PagesController#home, wrong number of arguments (0 for 1)
но я не знаю почему. У меня есть модель Users
от Devise и модель Dplan
, где dplan belongs_to :user
и пользователь has_many :dplans
. Я пытаюсь настроить свой сайт так, чтобы вы могли создать новый dplan на главной странице. Моя домашняя страница выглядит так:
<% if user_signed_in? %>
<h1>Hello <%= current_user.name %>! <h1>
<%= form_for @dplan do |f|%>
<div class="field">
<%= f.text_area :name %>
</div>
<div class="actions">
<%= f.submit "Submit" %>
</div>
<% end %>
<% else %>
<h1>DPlanner</h1>
<p>
This is the home page for DPlanner.
</p>
<%= link_to "Sign up now!", new_user_registration_path, :class => "signup_button round" %>
<% end %>
Это dplans_controller.rb:
class DplansController < ApplicationController
def create
@dplan = current_user.dplans.build(params[:dplan])
if @dplan.save
flash[:success]="Dplan created!"
redirect_to root_path
else
render 'pages/home'
end
end
def destroy
end
end
А вот и pages_controller.rb:
class PagesController < ApplicationController
def home
@title = "Home"
@dplan = Dplan.new if user_signed_in?
end
end
Я не понимаю, почему я получаю это сообщение об ошибке - единственный аргумент, необходимый на странице, - это dplan, который я определяю в контроллере страниц. Помощь!
Вот dplan.rb:
class Dplan < ActiveRecord::Base
attr_accessible :name
belongs_to :user
validates :name, :presence=>true, :length => { maximum => 30 }
validates :user_id, :presence =>true
end
NoMethodError in Pages#home, undefined method
dplans_path' for #‹#‹Class:0x00000101c45f20›:0x00000101c42320›` Похоже, проблема с@dplan
в строкеform_for @dplan do...
в домашнем представлении. Что-то не так со строкой@dplan=Dplan.new
вpages_controller
? - person steffi2392   schedule 17.08.2011