ruby-on-rails - `permit'的未定义方法 "51":String

标签 ruby-on-rails params

更新时会出现此错误,我不知道为什么会出现此错误

def update1
 @user = User.find(params[:user])
 if @user.update_attributes(user_params)
   redirect to user_steps_path
 else
   render 'edit1'
 end
 end

private
  def user_params
    params.require(:user).permit(:fname, :lname, :email)
  end
end

参数:
{"utf8"=>"✓",
 "authenticity_token"=>"wY+llV4qot5xDsxp1JvaltvPdrZND7goaorBTh8Vteo=",
 "user"=>"51",
 "commit"=>"Update"}

Edit.html.erb

这是我的编辑表格
<%= form_for :user do |f| %>
    <div class="form-group">
    <%= f.label :First_Name %><br />
    <%= f.text_field :fname, :class=> 'form-control' %>
  </div>
  <div class="form-group">
    <%= f.label :Last_Name %><br />
    <%= f.text_field :lname, :class=> 'form-control' %>
  </div>
  <div class="form-group">
    <%= f.label :Email_Address %><br />
    <%= f.email_field :email, :class=> 'form-control' %>
  </div>
  <div class="button">
    <%= f.submit 'Update' %>
  </div>
</div>

<% end %>

请帮我解决这个问题...

最佳答案

您在update1方法和user_params方法中给了相同的名称(:user),这就是为什么它给出错误的原因

def update1
@user = User.find(params[`:user`])

private
   def user_params
    params.require(`:user`).permit(:fname, :lname, :email)
end

尝试在中更改:user(给其他名称)
@user = User.find(params[`:user`])

关于ruby-on-rails - `permit'的未定义方法 "51":String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30702988/

相关文章:

ruby-on-rails - 如何在 Rails 3.1 中复制 class_inheritable_accessor 的行为?

ruby-on-rails - 我将如何访问 Mailer Preview 中的 url 参数

grails - 如何通过从gsp文件到grails中的另一个gsp文件的链接获取传递的 “id”参数

grails - 将参数传递到grails分页标签的预期方式是什么?

date - 如何在 Grails 中将日期值作为参数传递

ruby-on-rails - 在 rails 嵌套属性中编辑连接表值

ruby-on-rails - 在rails中获取带有符号的哈希作为mongo的键

javascript - 使用 Javascript 单击添加和删除类

ruby-on-rails - rails : paperclip does not save in database

json - Grails 2.4.3,升级参数,要求