如何解决 1:Fixnum 错误的未定义方法 `model_name'(rails 上的 ruby)

how to solve undefined method `model_name' for 1:Fixnum error ( ruby on rails)

点击提交后,它应该转到 dashboard_controller 的 update_settings 方法。单击我得到这个error.How来解决这个

非常感谢任何帮助

undefined methodmodel_name' 对于 1:Fixnum`

`

我有这样的路线

namespace :generic_users do root to: 'dashboard#show' get 'settings', to: 'dashboard#settings' patch "settings" => "dashboard#update_settings", :as => "update_settings" end

我的仪表盘控制器是这样的

class GenericUsers::DashboardController<ApplicationController before_filter :authenticate_user! def settings @title='Generic Users Profile Management Page' @generic_user = current_user.specific.id end def update_settings @generic_user = GenericUsers.find(current_user.specific.id) if @generic_user.update_attributes(sign_up_params) redirect_to generic_users_root_path, flash: {notice: "Your details have been updated"} else render "new" end end private def sign_up_ end private def sign_up_params params.require(:generic_user).permit(:username,:mobile,:firstname,:lastname, :email,:image,:referred_by,:address) end end

在views/dashboard文件夹中,查看调用的文件, settings.html.erb

  <%= simple_form_for(@generic_user, :url => generic_users_update_settings_path) do |f| %>
  <div class="form-inputs">
    <%= f.input :username, required: true, autofocus: true %>
    <%= f.input :firstname, required: true, autofocus: true %>
    <%= f.input :lastname, required: true, autofocus: true %>
    <%= f.input :email, required: true, autofocus: true %>
    <%= f.input :mobile, required: true, autofocus: true %>
    <%= f.input :image, required: true, autofocus: true %>
    <%= f.input :referred_by, required: true, autofocus: true %>
    <%= f.label :address, "Address" %><br>
    <%= f.text_area :address, required: true, autofocus: true %>
  </div>

  <div class="form-actions">
    <%= f.button :submit, "Sign up" %>
  </div>
<% end %>

还有一个模型generic_user.rb 请给我一个解决这个错误的方法。 我不知道

undefined method `model_name' for 1:Fixnum

您需要将 settings 方法中的 @generic_user 更改如下

def settings
  @title='Generic Users Profile Management Page'
  @generic_user = GenericUsers.find(current_user.specific.id)
end

simple_form_for 中的第一个参数应该是 记录.