我刚开始学习Rails所以请原谅这个愚蠢的问题。在我的网络应用程序中,我能够设置工作模型,表单和视图。用户能够输入他们的小数答案,并在网页上完美显示。但是,我希望多个用户输入的数据为10.因此,如果用户输入2,我希望它显示20.你们可以给我的任何帮助都会非常棒。我在下面列出了所有相关代码。再次感谢你:)
Rails控制器
class Ratings1sController < ApplicationController
before_action :authenticate_user!
def create
@post = Post.find(params[:post_id])
@ratings1 = Ratings1.create(params[:ratings1].permit(:content))
@ratings1.user_id = current_user.id
@ratings1.post_id = @post.id
if @ratings1.save
redirect_to post_path(@post)
else
render 'new'
end
end
end
Rails模型
class Ratings1 < ActiveRecord::Base
belongs_to :post
belongs_to :user
end
_Form.html
<%= simple_form_for ([@post, @post.ratings1s.build]) do |f| %>
<%= f.input_field :content %>
答案 0 :(得分:1)
假设您希望繁殖的内容是您的评分,请执行以下操作:
@ratings1 = Ratings1.create(params[:ratings1].permit(:content))
@ratings.content *= 10
顺便提一下,您将两次保存您的Ratings1模型 - 一次创建时,然后再调用保存模式。构建它然后保存它会更好 - 你可能希望在某些时候为用户的存在添加验证,然后调用create会失败。
@ratings1 = Ratings1.build(params[:ratings1].permit(:content))