1

通过文章调整 gem Sorcery:github.com/NoamB/sorcery/wiki/External。

我已经这样做了,登录后的用户可以创建一个记录并将其附加到从 Amazon AWS 下载到 S3 的图像上。但是设置后我可以登录,但我不能上传图像。在终端写入错误:

Can't mass-assign protected attributes for Card: review_date, original_text, translated_text, picture

截图: http: //monosnap.com/image/OyzrIct0G3uchY3XIUwyJEXxwUrcGU

在控制器的设置中,我使用 strong_parameters:

private
def card_params
  params.require(:card).permit(:review_date, :original_text, :translated_text, :user_id, :picture, :remove_picture)
end

帮我!如何使用strong_parameters 的代码?

PS 当然,我已经写了控制器:https ://gist.github.com/windsochi/86ab6f541445896e65f0 。我不知道如何摆脱 attr_accessible 并添加 strong_parameters?

4

1 回答 1

1

在 rails 4 中,确保card_paramsnewcreate操作中使用了:

def new
  @card = Card.new(card_params)
end

def create
  @card = Card.new(card_params)
end

private
  def card_params
    params.require(:card).permit(:review_date, :original_text, :translated_text, :user_id, :picture, :remove_picture)
  end

如果您使用的是 rails 3,请查看https://github.com/rails/strong_parameters

于 2014-09-02T20:40:08.623 回答