我有一个属于用户的成员模型
class Member < ActiveRecord::Base
attr_accessible :name
belongs_to :user
end
class User < ActiveRecord::Base
attr_accessible :name
has_many :members, :dependent => :destroy
end
在我的会员控制器中,我有
class MembersController < ApplicationController
def create
@user = User.find(params[:user_id])
@member = @user.members.build(params[:member])
if @member.save
flash[:success] = "Member created!"
redirect_to root_path
else
render 'pages/home'
end
end
end
在/app/views/users/show.html.erb 中,我有
<%= form_for @member do |f| %>
<div class="field">
<%= f.text_area :name %>
</div>
<div class="actions">
<%= f.submit "Submit" %>
</div>
<% end %>
但是我收到以下错误: 未定义的方法"model_name"用于 NilClass:Class
Extracted source (around line #18):
15:
16: <h1 class="member">What's up?</h1>
17:
18: <%= form_for @member do |f| %>
我在用户控制器中的显示操作是
def show
@user = User.find(params[:id])
@members = Member.new
@title = @user.name
end
其中还包含"新"方法
我尝试在成员控制器中将 :user_id 更改为 :id,但这也不起作用。我在这里做错了什么?
提前致谢
尝试用
@member = Member.new
替换@members = Member.new
;-) !
我需要将@user.id 作为表单中的隐藏字段传递,以便关联起作用!