Rails表单只显示一个变量

时间:2015-12-08 04:57:32

标签: ruby-on-rails ruby-on-rails-3

我在rails应用中有一个包含许多文本字段的表单。提交后,我的评论页面上只显示一个字段,但是如果我检查它,我可以正确地看到每个字段。我只能看到姓名字段。

我的控制器:

class CrewmembersController < ApplicationController
    def show
        @crewmember = Crewmembers.find(params[:id])
    end

    def new
    end

    def create
        @crewmember = Crewmembers.new(crewmember_params)

        @crewmember.save
        redirect_to @crewmember
    end

    private
        def crewmember_params
            params.require(:crewmember).permit(:name, :email)

        end
end

我的show.html.erb页面:

<p>
    <strong>Name:</strong>
    <%= @crewmember.name %>
</p>

<p>
    <strong>Title:</strong>
    <%= @crewmember.title %>
</p>

<p>
    <strong>Department:</strong>
    <%= @crewmember.department %>
</p>

1 个答案:

答案 0 :(得分:2)

根据您的createcrewmember_params方法,您使用 仅限姓名和电子邮件字段 创建crewmember条记录。这就是show.html.erb中仅显示 名称 字段的原因。您需要将crewmember_params方法更改为

def crewmember_params
  params.require(:crewmember).permit(:name, :email, :title, :department)
end

如果你没有表格中的标题和部门字段。然后你需要改变它以包括那些。

附加说明:

此外,我还注意到您使用的是复数型号名称( Crewmembers ),根据惯例,我们不鼓励这样做。将其更改为单数( Crewmember ),也不要忘记将文件名更改为单数。