如何解决 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 method
model_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
中的第一个参数应该是 记录.
点击提交后,它应该转到 dashboard_controller 的 update_settings 方法。单击我得到这个error.How来解决这个
非常感谢任何帮助
undefined method
model_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
中的第一个参数应该是 记录.