0

我正在制作一个 Rails 应用程序。用户注册后(我已经使用 devise 创建了用户注册),他们可以填写包含其个人资料信息的表格。我已经这样做了好几次了,我找不到问题所在。这是模型:

class Information < ActiveRecord::Base
    belongs_to :user
end

这是控制器:

class InformationsController < ApplicationController

    def new
        @information = Information.new
    end
    def create
        @information = Information.create(params[:information])
        redirect_to student_path
    end
    def index
    end
end

这是新操作的视图。

<div class="span6 offset3 text-center">
<h1>Edit your information</h1>

    <%= simple_form_for @information do |f| %>
        <%= f.input :skills %>
        <%= f.input :looking_for, :label => 'What help do you need?' %>
        <%= f.input :my_idea %>
        <%= submit_tag "Save", :class => "btn btn-primary btn-large" %>
    <% end %>
</div>

这是路由文件中的行:

resources :informations

我收到以下对我来说毫无意义的错误:

#<#:0x007f9c00c7b3e0> 的未定义方法“information_index_path”

有谁知道如何解决这一问题?谢谢。

更新:

当我做 rake 路线时,对于 informations#create,这是表单应该去的,它有一个空白路径。还有informations#index,我猜这就是它现在的样子。如果路径为空白,我如何让它去 informations#create?

4

3 回答 3

0

请尝试在视图的第 6 行和第 9 行中拉出注释(# 符号)。他们可能会搞乱 ERB 处理。

于 2013-10-21T20:20:40.513 回答
0

你能试试informations_path吗?见这里

于 2013-10-21T20:41:52.740 回答
0

问题在于命名资源信息。由于信息的复数形式与单数形式相同,因此令人困惑。我重命名了模型描述和控制器 descriptions_controller,它起作用了。

于 2013-10-22T15:21:03.883 回答