轨道协会 - 难以让form_for工作



我有一个属于用户的成员模型

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 作为表单中的隐藏字段传递,以便关联起作用!

相关内容

  • 没有找到相关文章

最新更新