(извините за мой английский)Rails 'stringify_keys'
Я пробовал свое первое веб-приложение для рельсов. Вот мой код:
Модель:
class Movie < ActiveRecord::Base
attr_accessible :about, :title, :url
end
Контроллер:
class MoviesController < ApplicationController
def show
@movie = Movie.find(params[:id])
end
def update
@mov = Movie.find(params[:id])
if @mov.update_attributes(params[:id])
redirect_to movies_path, :notice => "Your movie has been updated."
else
render "show"
end
end
def destroy
end
end
- Вид и
<%= form_for @movie do |m| %> <center> <table> <td valign='middle' align='right'> Title: </td> <td> <%= m.text_field :title %> </td> <tr> <td valign='middle' align='right'> Description: </td> <td> <%= m.text_area :about %> </td> <tr> <td valign='middle' align='right'> URL: </td> <td> <%= m.text_field :url, :id => "url" %><input type='file' onchange="document.getElementById('url').value = this.value" /> </td> <tr> <td> </td> <td> <center> <%= m.submit %> </center> </td> </table> </center> <% end %>
так это update
действие, и это выдаст сообщение об ошибке После нажатия кнопки формы обновления ошибки:
undefined method `stringify_keys' for "15":String
, так что я снова попробовать с Movie.find(params[:id].to_i)
и выход:
undefined method `stringify_keys' for 15:Fixnum
спасибо за ответы, хорошо провели день! =)
использование Movie.find (PARAMS [: ID] .to_i) и использовать @ mov.update_attributes (PARAMS [: фильм]) вместо @ mov.update_attributes (PARAMS [: ID]) –
Может быть проблема с @ mov.update_attributes (params [: id]). вы прошли params [: id], но это неправильно, вам нужно пройти params [: movie]. –
@SachinR yo win –